Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

GNOME 3.20 released

Today a new major release of the Gnome desktop environment has been released. It is the first time that I announce that on my Blog because I used it on openSUSE Tumbleweed in version 3.18 for a few months (much longer than actually planned as it was meant to be a test run only) and although coming from KDE, Xfce and i3 I was quite impressed by how it performed on my Laptop.

Version 3.20 is not bringing big changes to the table but many nice improvements. A short overview from the Gnome annou...

a silhouette of a person's head and shoulders, used as a default avatar

KDE Plasma 5.6 released

Today a new version of the Plasma desktop environment has been released. It comes with a lot of nice improvements.

A short summary of almost all of them:

  • task manager
    • showing task progress (copy, download etc.)
    • media controls in tooltip
    • jump lists (e.g. for Firefox Private Windows, for Steam etc.)
  • KRunner
    • smoother look
  • widgets
    • drag and drop for panel folder view
    • weather widget returned
  • activities
  • Wayland support
    • window decorations are now supported for Wayland client...

the avatar of Richard Brown

openSUSE Face-to-Face Board Meeting 2016 Minutes - Part 3/3

18th-20th March

Present:

  • Richard Brown - Chair
  • Michal Hrušecký
  • Kostas Koudaras
  • Tomas Chvatal
  • Gertjan Lettink
  • Bryan Lunduke - Extra special thanks goes to Bryan for attending via video conference at ridiculous hours in his local timezone after urgent personal matters kept him from attending the meeting in person.

As this years Board Meeting Minutes are so long, they are split into 3 sections

  • Meetings - Covering the meetings the Board had with various SUSE executives, managers, and engineers.
  • General - Covering the general agenda items/day-to-day issues
  • Strategy - Covering the ‘big picture’ issues the Board discussed

This email is Part 3, containing ‘big picture’ strategy issues discussed

Part 1 is available HERE

Part 2 is available HERE

Strategy

Improve Visibility

Obviously, we want to improve the visibility of the openSUSE Project.

We have great distributions, great tools, and great technologies, and we want them to be adopted by as many people and other projects as possible.

We also want to be a natural choice for new contributors and new projects to come to openSUSE, work with us, and host their projects with us.

SUSE

SUSE is our closest, largest, partner. We have strong practical ties with them, but that does not mean we can forget about things such as regular clear communication and ‘internal marketing’.

SUSE are working on a number of exciting new things, and it’s important that internally openSUSE is seen as a natural home for SUSE’s open source contributions.

Working closely together also should enable SUSE’s corporate marketing experts to help spread the good word about all the awesome stuff the openSUSE Project is doing

AI:Bryan to investigate the possibility of Doug being invited to Weekly team meetings for SUSE Corporate Communications

AI:Bryan to drive ensuring openSUSE is well integrated with SUSE’s ongoing marketing.

Outreach

There’s no point only targeting our existing contributors and partners like SUSE. Any open source project needs new people and with new people comes new ideas, new solutions, and new exciting projects for people to hack on.

A huge challenge for new contributors and projects is understanding what is available

  • Who is the openSUSE Project?
  • What services do we provide?
  • Where do I go to get involved?
  • How do I get started?

These are questions which are key to have simple, clear, easy to find answers to

CALL FOR HELP: The Board wants to see getting started guides for

  • New Users
  • New Contributors
  • New Projects- to encourage other projects to come use openSUSE as their home

to answer the above questions. These should be simple, clear, and relatively short. The produced guides should be easily usable on a wiki, the website, on flyers at conferences, short blog posts..we want to be able to spread them everywhere

The guides for new Contributors and new Projects are considered a Priority by the board- to use a football related quote “There is no point having fans, if you don’t have your 11 on the pitch to play for them”

AI:Board intends to create a skeleton of the above guides to help bootstrap this idea, and will drive this, but the Board is keen to see if anyone from the community dives in and gets to work on this immediately.

Other Projects

While openSUSE is keen to see other projects call the openSUSE Project it’s home, we recognise that it’s not viable for many, especially those larger ones with their own established communities

In cases like this the Board wants to encourage strong relationships with such Projects, and seek out partnerships and other arrangements with such Projects for the benefit of all involved

Examples include ownCloud and Kolab, where we believe openSUSE is in a perfect position to offer tools, community, and a solid environment for these projects to use as a default or recommended platform for their users

AI:Bryan to arrange information exploratory discussions

Hardware vendors

Having hardware sponsors and partners is nice but is hard. Solid hardware support requires the hardware to be available and in the hands of the right contributors to make it happen.

Otherwise there is no way how to support special hardware without the things available for testing.

However, we do have some relationships which are happening, and we want to highlight those who do stuff with us, such as

  • Soft Iron are shipping 64-bit ARM servers with openSUSE Tumbleweed as standard
  • Fujitsu offer openSUSE Tumbleweed to thier customers who want a Linux option on their Desktop & Server Hardware
  • Epson have some printers using openSUSE and YaST
  • Open Mainframe are investigating the possibility of building an openSUSE distribution for s390x

Reform and Remove Mess

Improving viability and reaching out to new areas is all well and good, but we need to make sure the project internals are tidy, clear, and easy to use

The Board discussed the state of many infrastructure and project policies and processes.

We agreed a principle of, when something is imperfect, we Reform (aka improve) or Remove it.

Services identified to be removed or reformed:

  • Software.o.o:
    • Media download needs to be easier, prefferable static page
    • package search adds too much mess to the installed systems. Invalid repos should not be distributed by 1-click installs
    • somehow redesign and reduce confusion to ensure that users do not end up with 80+ additional repos.
  • Wiki:
    • In order to fix the wiki quickly ,the board approved the idea of deploying the latest version of mediawiki on a new server without branding
    • branding can always be redone later
  • Blogs/Planet:
    • Only a handful of people use lizards, but it takes a lot of resources to keep it running. We want to shut it down, and encourage it’s users move to their own blogs, which will then be aggregated on planet.opensuse.org
    • Improve planet.opensuse.org. Find a maintainer, use a clean upstream OSS soltion if possible

AI:Kostas to contact the few Lizards bloggers to discuss their migration options

  • News.o.o:
    • Wordpress consumes too many resources and poses too many security risks
    • Replace with something lightweight

AI:Richard talk with Douglas about this

  • i18n.o.o: Translations site is being migrated to l10n.o.o as we speak and i18n will be killed including the svn prior Leap 42.2 release.
  • Legal layout of Board/membership: The current layout of the Board Election Rules, Membership Rules, and such are sometimes confusing and missing some details The documents will be updated and restructured to be more clear This should set the framework for discussing any reforms of the Membership process once the Membership tidy-up is complete

AI:board- get Infra team to provide list of services we have, soon to help with this endevour

the avatar of Richard Brown

openSUSE Face-to-Face Board Meeting 2016 Minutes - Part 2/3

18th-20th March

Present:

  • Richard Brown - Chair
  • Michal Hrušecký
  • Kostas Koudaras
  • Tomas Chvatal
  • Gertjan Lettink
  • Bryan Lunduke - Extra special thanks goes to Bryan for attending via video conference at ridiculous hours in his local timezone after urgent personal matters kept him from attending the meeting in person.

As this years Board Meeting Minutes are so long, they are split into 3 sections

  • Meetings - Covering the meetings the Board had with various SUSE executives, managers, and engineers.
  • General - Covering the general agenda items/day-to-day issues
  • Strategy - Covering the ‘big picture’ issues the Board discussed

This email is Part 2, containing general agenda items

Part 1 is available HERE

Part 3 is available HERE

General

Desktops

Board discussed the state of the various desktops in openSUSE. Improving the selection screen to better reflect the actual nature of our distributions is something we certainly want to see.

AI: Board to discuss some ideas with our various Desktop Teams

Membership Tidy

Board discussed it’s ongoing efforts to tidy up the membership list. We have plenty of members that might not be around anymore. From previous discussions we have a draft of what we want to do and it was heavilly discussed over and over. So we will move to the implementation. Current plan is to do just a small changes that were already discussed (announcement pending), there might be a room for bigger changes and cleaning up the rules, but that would need mebers agreement. We should also remove inactive members of membership comittee. Together with retiring connect.openuse.org we probably can have some space to make membership management easier and faster.

AI: Tomas should investigate Helios voting system for openSUSE

AI: Michal to draft email about inactive members

AI: Michal to start with tooling and kickstart the process of retiring inactive members according to the proposal sent

AI: Michal is retiring connect.opensuse.org and doing the Membership tooling

Mailinglist Moderation

Board discussed concerns regarding some behaviour of a few individuals on the mailinglists.

We recognise that some misbehaviour requires fast action. Agreed that any one Board member can act on behalf of the Board.

When behaviour is not inline with the Guiding Principles the Board agreed a principle of 1 private warning followed by a Ban

Sponsorships

Conference in Albania asked for support, but as no person is going there from openSUSE, we are not providing money.

openSUSE only sponsors events where openSUSE can attend. We decided to become Platinum Sponsors to Greek FOSSCOMM- Greekos will be attending

We discussed updating the sponshorship document for people interested in sponsoring our Project in order to better guide what to do and what optons are available to become openSUSE sponsor.

AI: Kostas will take care of the Negotiation regarding FOSSCOMM

AI: Board to put together a Sponsorship policy document

Trademark

Trademark requests often get lost of spam, hoping the proposed new @opensuse mail system will be better with spam.

T-systems requested permission to use openSUSE on their new Open Telekon Cloud - Approved

AI: Richard to review/tune up filtering in current system so trademark requests don’t get lost.

Maintainer tidy up

Board discussed OBS state of inactive maintainers. With the members cleanup prepared we want to clean this up too.

It’s very important to new and existing contributors alike that it’s easy to identify who is responsible for which package, or which packages are low on active maintainers.

Technically we want maintainer tidy-up like the home: repositories cleanup

AI: Tomas will talk with Craig about OBS team preparing the code for this

Treasurer

Board wants to reduce it’s time spent worrying about money, sponsorship, and TSP related matters. The Board’s role is meant to be more focused on the actual immediate and long term issues impacting the Project as a whole, and the details of money matters is quite often a distraction from these.

The board agreed to create a openSUSE position called Treasurer. They will be a non-voting board member appointed by the Board. Responsibilities of the Treasurer:

  • Money
  • Sponsorships
  • Event
  • Merchandising materials
  • TSP

Treasurer must provide regular reports to the Board and thus is expected to attend all Board meetings where the above responsibilities are discussed

As a Board appointee, any future Board is expected to confirm their choice of Treasurer in their first meeting after being elected

This Board has appointed Andrew Waffaa to be the current Treasurer, effective immediately

AI: board should add treasurer to board ML and create treasurer@opensuse.org mail alias

AI: Board to announce it to Project

AI: Board to put stuff on wiki regarding rules/scope

Kickstarter

With the sponsorship document updated we could provide kickstarter option for community to sponsor hadware.

This should aim to please most people requesting separate foundation, because even small donations will be allowed to flow in.

AI: Tomas will talk with Andrew and Marketing teams on how to do this

the avatar of Richard Brown

openSUSE Face-to-Face Board Meeting 2016 Minutes - Part 1/3

18th-20th March

Present:

  • Richard Brown - Chair
  • Michal Hrušecký
  • Kostas Koudaras
  • Tomas Chvatal
  • Gertjan Lettink
  • Bryan Lunduke - Extra special thanks goes to Bryan for attending via video conference at ridiculous hours in his local timezone after urgent personal matters kept him from attending the meeting in person.

As this years Board Meeting Minutes are so long, they are split into 3 sections

  • Meetings - Covering the meetings the Board had with various SUSE executives, managers, and engineers.
  • General - Covering the general agenda items/day-to-day issues
  • Strategy - Covering the ‘big picture’ issues the Board discussed

This email is Part 1, containing meeting minutes of meetings with SUSE

Part 2 is available HERE

Part 3 is available HERE

Meetings

Meeting with openSUSE Release Manager - Ludwig Nussel

The Board met the new openSUSE Release Manager - Ludwig Nussel

He shared the following tentative information about the planned release for Leap 42.2:

  • Leap 42.2 will be based on SLE 12 SP2 and their release scheduled are ‘aligned’ (ie. They will be developed together, but not necessarily release together)
  • Target release date for Leap 42.2 is 1st week of Nov 2016. Expected to have an updated systemd, GNOME, Qt, kernel all inherited from SLE 12 SP2
  • KDE of course will want to upgrade from 5.5, expected 5.6, discussions underway about what upgrade policy will make sense for the lifespan of Leap 42.2
  • We don’t expect X will be updated, which will mean 42.2 will have the same version as 42.1, which is newer than the version in SLE 12 SP1 or expected in SP2

Leap 42.2 will start with a base of Leap 42.1, with packages updated from that point. The process for contributing to Leap 42.2 needs explanation

We discussed the shape of how we’d like to see the wiki. We all agreed want to see a big tidy up. Many of the Portals have little benefit and serve little purpose. We want to see the namespaces removed/flattened to help the search

  • Tumbleweed deserves a Portal. Questions the page must answer include “What is Tumbleweed?” “Why use Tumbleweed?” and “Why might Leap be better for you?”
  • Leap is similarly important, needing to answer the questions “What is Leap?” “Why use Leap?” and “Why might Tumbleweed be better for you?”
  • Packaging Polices and the Factory process are other ‘key’ pages which must be preserved, polished, and refreshed during any wiki cleanup
  • Team pages would be ‘nice to have’ but many Team pages are currently woefully out of date. We would like to see a solution investigated where the wiki team page is inherited from a devel project

We discussed the idea of forming a “Release Team” with specific roles that are responsible for ensuring that key parts of the Release process are carried out

Obvious roles include “Website coordinator” to ensure the website is updated. “Wiki Coordinator”, “Marketing Coordinator”, “Test Coordinator”, “Translation Coordinator” are other obvious roles

These people would not necessarily be responsible for doing the work, but for coordinating with Ludwig and ensuring that the work gets done by someone.

AI: Ludwig to mail the Board with any other “Roles” which are expected to be needed

AI: Board + Ludwig to send a ‘Call for Volunteers’ for the roles, and to put together the team

AI: Board to request release-team@opensuse.org list for this team

Discussed some of our local teams. We share concerns that those teams with their own forums, own wikis, and own websites ultimately ‘split’ the community and make it harder for everyone to benefit from the shared knowledge, experience, and feeling of ‘collective ownership’ of the project. We’d like to see such sub-communities bought closer together and go forward more ‘aligned’ with the rest of the openSUSE Project

We discussed some concerns regarding the current openSUSE Infrastructure software.opensuse.org serves two very important roles, both as the main download portal for our distributions, and as a software search for OBS

PROPOSAL: Split http://software.opensuse.org to have the download portal and search separate.

The download portal could be a simple, clean, fast, static site that would offer the Leap and Tumbleweed ISOs.

Software search would continue as it is…but we considered some problems with that

The current implementation of One-Click installs is often dangerous. Because they add all the repos setup in the OBS repo you often end up with crazy things like Factory:ARM repos being added on systems where they are not relevant

Furthermore, making it very easy to install packages from ‘non-official’ repos dramatically reduces the motivation and impetus for developers to put their packages in the Distribution

Having packages in the Distribution though is the best way to ensure your package works, is tested, and is integrated

So we would like to see One Click only pulling from the official repos. If Packages are not in the official repos, we would like the software search to put users in touch with devel project maintainers to encourage the packages be added to the distributions

CALL FOR HELP: We would like a maintainer for software.opensuse.org to help implement the above changes to the search and download functions of software.opensuse.org

Meeting with the SUSE Infrastructure Team

The Board received an update from Gerhard Schlotter, Marcus ‘darix’ Rueckert, and Lars Vogdt from the Infrastructure Team at SUSE

  • SUSE host 12 physical servers for openSUSE services. This is in addition to the 127 OBS & openQA physical servers
  • Those 12 macines host a total of 60 VMs
  • The OBS and openQA hardware host a total of 820 VMs
  • www.opensuse.org has 2.3 million visitors per month - how can we make that bigger?

Discussed the immediate problems with some part of the infrastructure, especially the wiki. Some is hosted in SUSE’s datacenter in Provo, some is hosted in Nuremberg. Nuremberg datacentre has room and admins, but limited bandwidth (not enough for how busy stuff gets on releases). Provo datacenter has room and bandwidth, but limited admins. SUSE have an engineer moving from Nuremberg to Provo to help illivate that problem. Having sponsored hosting elsewhere is an option we want to actively pursue. We have hardware available if we can find a host.

CALL FOR HELP: Please help us find sponsors willing to help find openSUSE infrastructure

Infrastructure guys would like the Sponsorship leaflet to be updated in order to better court possible hardware and hosting sponsors

AI: Douglas to update sponsorship guide

Improvements to the @opensuse.org email system are being investigated

Infra team would like connect.opensuse.org to be shutdown

AI: Board to investigate alternatives for voting & membership management

Lunch

The Board had lunch with dozens of SUSE Engineers. Lots of different conversations but the key topics that stuck with the board include:

  • Discussions about how to improve translation/l10n tools and workflows
  • Communication with the KDE Project
  • How to get started with openSUSE, as a contributor and as a Project that wants to be part of the openSUSE Project.

Meeting with Ralf Flaxa - President, Product Engineering at SUSE

Ralf thanked the Board for coming and their ongoing work for the openSUSE Project, and expressed SUSE’s pleasure with the success of Leap and the general direction of the openSUSE Project

Ralf shared some ideas regarding oSC and his departments Hackweek

AI: Board to discuss the ideas with the oSC organisers

Meeting with Roland Haidl - Director, Operations & Communities at SUSE

Roland reaffirmed SUSE’s intention to continue funding the openSUSE Project at similar levels.

Roland shared Douglas DeMaio’s plan to refill our merchandise before openSUSE Conference 2016.

Board requested budget for openSUSE Asia at the same levels as last year - Approved

Discussed the possibility of the Board appointing a Treasurer to be the primary contact with SUSE on financial matters (Sponsorships, TSP, etc) - Approved

Discussed the possibility of a hackathon for the Release Team, once it’s formed - Approved in principle (Needs the team first)

Discused the possibility of more ‘minisummits’ consisting of openSUSE presentation tracks and related events colocated at other events around the world - Approved in principle (Needs events and volunteers)

Discussed the current wiki problems. Roland volunteered to help drive a solution.

AI: Richard - Infrastructure to be a standing topic in regular Chairman meetings with Roland

Tour

The Board was given a tour of the SUSE HQ, including the recently expanded office space and server rooms.

a silhouette of a person's head and shoulders, used as a default avatar

Students, join the Summer of Code!

If you are a student, you have a unique opportunity right now. Join the Summer of Code, submit a project proposal until March 25th, and work with the people from an open source community during the summer. You will get paid for three months, you will become part of a community, and you will have the chance to make an important step in your career as a software developer. Google is organizing and sponsoring the program and hundreds of mentors from all kind of open source projects all over the world are ready to help you to do your next step in open source. I really would have loved to have such a program when I was a student. You are living in good times.

I have been a mentor for KDE and openSUSE for many years and have worked with many amazing students. This year we made an extra effort in openSUSE and set up a new web site to help mentors and mentees to find together. It collects a lot of information about how you can succeed as a mentor as well as a student, and provides a portal for all the openSUSE project ideas people from the community have come up with. KDE also has a list of exciting KDE project ideas. Pick one or, even better, come up with your own.


There are so many interesting projects and lots of good students looking for working on them. While I try to help with the overall organization a bit, I limit myself to mentoring maximally one student during the summer, so that I can do a decent job with that and don't get stretched to thin. I have put up a couple of ideas in both projects, KDE and openSUSE. If you would like to help with mentoring one, you are more than welcome. This way we could be able to provide mentoring for more projects. If you are willing to help please get in touch with me. It is a great and rewarding experience to be an open source mentor.

The KDE project, where I'm looking for a student, is Inqlude, the Qt library archive. It's a nice project mixing an interesting set of technology, some Ruby, a bit of HTML and CSS, plus some C++ and Qt, and last but not least the opportunity to do some user interaction design. You will certainly learn something, and as it's a pretty small project within the universe of KDE, you will be able to make a significant impact during the summer and beyond.

In openSUSE we have a couple of projects around Machinery, our pretty new systems management tool for inspecting, inventorying, validating, and migrating Linux systems. It comes from openSUSE, but it also runs on and supports other flavors of Linux. It's Ruby, and one of the interesting aspects is that we are doing serious test-driven development, code review, automatic tests on all levels, and more what constitutes the craft of software development. You will learn a lot there. Mauro and Andre are available as mentors there as well.

There is one more project, I find really interesting. That's reproducible builds for openSUSE. The reproducible builds project coming from Debian aims at making it possible to prove that a binary is actually built from the sources it claims to be built from. This can help to make build systems more efficient, but more importantly it helps to protects against malicious modification of binaries during the build process. This can have a huge impact. Bernhard has started to do some work on it and by joining this you could make a real difference for free software by making sure users can trust in the software they run.

I'm repeating myself, but this is a wonderful opportunity for mentors and students alike. Don't hesitate, get your proposals together, and join the summer of code.

the avatar of Martin Schlander

My Jolla tablet

You may have heard about the crowdfunded Jolla tablet, sporting the very cool proper GNU/Linux based SailfishOS, and also that things went a little sour because of an unfortunate set of circumstances, meaning most tablets will never be shipped (I got my e-mail regarding a refund a couple of days ago).

However by an uncharacteristic stroke of good luck one of the few Jolla tablets that has indeed been shipped, has come into my possession via the second hand market – and at a very reasonable price too. Thanks a lot to the altruistic Jolla supporter who was one of the first to pledge for the crowdfunding, and who sold it on to me after only a few days of ownership. It’s the 64 GB version including the quite elegant LastuCase of real leather and wood, which doubles as a stand.

jolla_tablet

Since the Jolla tablet isn’t widely available, there’s not much point in giving a lengthy review, so I’ll keep it short. The packaging is very slick and smooth. The tablet casing is plastic, but the build quality feels quite solid nevertheless. The display is very crisp and beautiful. At 7,85″ and 384 grams the physical dimensions are perfectly balanced. I can hold it in one hand quite some time before getting tired.

SailfishOS performs extremely well on this tablet. I had been wondering if the excellent gesture based UI which encourages one-handed usage would work as well on a tablet as it does on the phone. But it most definitely does – anything is only a flick of the finger away.

Of course not everything is perfect, the default web browser is a bit more crashy than it is on the phone, and far from all the native SailfishOS apps have been ported to the Intel based tablet – understandably so given the number of tablets in circulation and of course you can run most Android apps via the Android runtime. Another ill side-effect of the tablet is that it is so great that it makes the Jolla phone feel a little slow and crammed in comparison.

Speaking of the phone, it’s been well over two years since I bought and I still couldn’t be happier with it. Luckily more SailfishOS devices are to be expected very soon like the Intex Aqua Fish and Turing Phone. And Fairphone 2 and Mi-Fone also on the horizon.

Hopefully for the rest of you, another SailfishOS tablet will also become available fairly soon.

the avatar of Duncan Mac-Vicar

Not sweet but salty, SUSE Manager 3 Technical Backstage Part I

Introduction

During the last year we have been working on SUSE Manager 3, the next release of SUSE’s Systems Management product, which includes additional capabilities around Configuration Management and Compliance. This article details this journey from the team’s perspective that may be of interest to product enthusiasts and developers.

Sweet did not last

In mid-2014 I wrote about SUSE Manager 2.1. It was an important release for us because at that point we became very active upstream, to the point that on a typical day, a considerable chunk of the open pull requests came from SUSE, including a refreshed mobile-enabled user interface.

But the world is changing, and management offerings are taking new innovative directions, especially around Configuration Management and Compliance. This trend was in several dimensions quite radical for our product, based on the Spacewalk project, which has been managing Linux systems with the same paradigm since 2008.

Deploying a management solution is a considerable investment for the customer: operation, training, processes, etc. Telling a customer you will be completely replacing their deployed solution because new trends have appeared means you are throwing all their efforts in the trash.

On the other hand, it is very easy to find excuses to rewrite software from scratch and there are well-known industry voices giving advice on the topic.

So are we up to the challenge?. Can we evolve SUSE Manager iteratively within this new world without endangering our customer investments?

Choosing a configuration management engine

After we decided that we would bring this new world into the existing SUSE Manager, we clearly didn’t want to write a configuration management engine ourselves: there were multiple opensource projects that were up to the task. We also understood that customers could be already invested into one of them, and that is fine: we were looking for the one that could be tightly integrated into SUSE Manager and had a design that matched our vision.

And here is where things got even less sweet: they got salty!

We ended up choosing Salt. The reasons are endless: From its vibrant community to the “aha!” moment you get when understanding its internals and seeing the vision behind the architecture. It is a complete toolkit to build datacenter automation, wrapped in usable tools with sane defaults that work out-of-the-box.

SaltStack platform or Salt is a Python-based open source configuration management software and remote execution engine. Supporting the “Infrastructure as Code” approach to deployment and cloud management, it competes primarily with Puppet, Chef, and Ansible. (Source: Wikipedia]

SaltStack software orchestrates the build and ongoing management of any modern infrastructure. SaltStack is also the most scalable and flexible configuration management software for event-driven automation of CloudOps, ITOps and DevOps. (Source: SaltStack)

We did not get the same impression from the other tools we evaluated. It was clear that Salt fit into the SUSE Manager present and future.

The fact that Salt implements configuration management (states) on top of the execution engine (state.apply), and that the executions modules are first class, we could offer almost all features we already had in SUSE Manager and naturally extend the Configuration Management part. On top of that, Salt is written in Python, and the current Spacewalk client stack and partly the server stack are also Python components.

Things only got better from there. During all this time we got really crazy about Salt. Our sysadmins are using it as well, and a community was formed internally that went beyond our product. Not only with sysadmins and engineers, but even our Product Manager writes beacons.

Suminator

The first serious dogfooding of Salt we did was the birth of Suminator. Silvio combined Vagrant with Salt to build a small tool that allowed us to build release and development versions of SUSE Manager and vanilla Spacewalk servers and clients in all possible code stream and operating system combinations. Very soon it became the tool of choice for developers to work on the codebase.

This tool is still tied to our internal build service and package repositories, but we hope we find time to make it useful to others as well.

If you want to play with openSUSE and Salt using Vagrant, I have published a repository that will get you started.

SUSECon 2015

The awesomeness of Salt started to click at various levels. The idea of orchestration built on the concept of Event-Driven Infrastructure plus the support for dumb devices culminated in the great SUSECon demo.

SUSECon I
Figure 1: Weird picture

At SUSECon we showed that with the concept of reactive infrastructure; it was trivial to react to changes in configuration drift, in this case, using an inotify beacon that had “knowledge” about the managed files on that system, and make SUSE Manager react. On top of that we interacted with smart lights via proxy minions, just like you will have to do once the IoT takes over the world.

susecon-susemanager-2.png

On top of that we showed that we could achieve all using the power of opensource that SUSE has been doing for almost 25 years. Support for Hue lights in Salt was already upstream by the time of that demonstration.

Refreshing our platform

Working on a new release means the opportunity to refresh the platforms and technologies you use, and to look for better alternatives for some of them.

  • We keep rebasing and picking up enhancements from Spacewalk upstream.
  • A mature codebase does not mean you should not get rid of code. E.g,: here is a pull request from the team to remove 30k lines of code that did not make much sense nowadays.

With the Salt and Compliance work there was going to be new code written, and that is an opportunity for choosing the right platforms and frameworks.

  • From SLES-11-SP3 to SLES-12-SP1
  • From Tomcat 6.x to Tomcat 8.x
  • From Java 7 to Java 8
  • We started to use Spark for server-side Java code.
  • We started to use React on the client side.

Integrating Salt into SUSE Manager

The first attempt was done as part of Hackweek 11. A protoype known as Saltwalk was born.

This protoype (a simple python reactor) helped figuring out what the bulk of the work would be, the non-trivial parts and what decisions we needed to take to move forward.

The basic architecture of a reactor that handles Salt events and interacts with Spacewalk was in place. What we needed now was a way for Spacewalk to interact with Salt.

suma-salt-architecture.png

salt-netapi-client

For the interaction of SUSE Manager with Salt, a Salt client library for Java was created, which allows to consume Salt functionality through salt-api.

Months after the original announcement, salt-netapi-client keeps being the best option available to interact with Salt from Java.

We pointed applicants to our open positions to salt-netapi-client as a challenge. Various contributors to the library became SUSE Manager team members!.

Becoming a Salt Master

When the decision of using Salt was clear, it was decided that we would do the integration code on the Java side of SUSE Manager, and so Saltwalk stayed as a protoype, and the functionality was implemented in Java.

At this point, SUSE Manager default installation was at the same time a full fledged Salt master server.

A consequence of this is that you can enjoy Salt on openSUSE out of the box. The Salt package is kept updated on Tumbleweed and Leap, which fits very well with the fact that openSUSE is available from various Cloud Providers e.g. #1 out of the box.

Registering minions

The next step was to make SUSE Manager aware of minions. First by registering them as they appeared (after salt-key --accept was done), so that they show up together with traditional systems:

minion-clients-2.png

After we had done work in order to retrieve the inventory data using Salt itself, the details page of minions was also available:

minion-overview-1.png

Once this was working we improved on it, allowing to operate the salt-key functionality directly from the user interface. Once a minion key needs to be accepted you would see it in the overview page:

pending-minions-1.png

And from there you can accept which ones to onboard:

minion-onboarding-1.png

Configuration Management with SUSE Manager

While you can patch, install packages in the same way you did with traditional clients, there are two main differences:

  • What you do is instantaneous (unless you schedule for later)
  • Instead of doing imperative actions (eg. install this package), you can also use states to define “what should be installed” in a declarative way using the power of States.
  • You can write plain sls data in custom states
states-catalog-1.png

Additionally, SUSE Manager also has a higher level state user interface for packages. With this user interface you can search packages in the assigned channels.

package-states-1.png

Common states for organizations and groups

SUSE Manager allows to apply states from the State Catalog to Organizations and Groups. Every system belonging to those entities will be subject to those states.

minion-custom-states-1.png

Massive command execution

The Remote Commands page in the Salt section gives you a web based version of salt '*' cmd.run. You can preview which minions will be affected with the target before sending the commands and then see the results in real time:

remote-commands-1.png

Being part of the ecosystem

Making Salt an important part of SUSE Manager does not end there. In our industry being an Enterprise distributor of open-source software only works if you are part of it.

  • SUSE already has around 600 commits from 5+ developers in Salt upstream
  • The SUSE Manager team is hiring so that we can do more work upstream and help shape Salt’s future
  • SUSE will be gold sponsor at Saltconf 2016
saltconf-sponsor-1.png

The future

As you can see, SUSE Manager with Salt is a powerful duo which allows you to continue managing your infrastructure with the same tool, be 100% backward compatible and start taking advantages of declarative configuration management and the orchestration capabilities of Salt, while keeping everything you have already deployed untouched.

We are very excited about the possibilities here, which will be guided by feedback from our customers and synergies we have with Salt and other SUSE technologies.

To be continued

Configuration Management is only one of the features that will arrive SUSE Manager 3. Expect to hear from the powerful Subscription Matching and Topology Awareness in future posts.

the avatar of Henne Vogelsang

10 Tips for Mentoring #FreeSoftware Development

I believe that one of the most important tasks for a Free Software hacker is to bring new people with new perspectives, backgrounds and fresh ideas into the community. That's why I try to make contributing to my own projects as beginner friendly as possible, that's also the reason I frequently mentor people who take their first steps in developing Free Software with programs such as Google's, or Rails Girls Summer of Code.

Just recently I had the opportunity to implement a mentoring program (hey 101) for one of the Free Software communities I'm participating in (hey openSUSE) together with a couple of friends (hey Chris & Cornelius). That adventure required me to think about what I find important about the whole process. I'd like to share those thoughts with you. Here are my 10 Tips for Mentoring Free Software development.

1. Put Your Mentee First

I believe in putting the mentee's needs first. When I mentor someone I'll make an extra effort to place myself in their position. Empathize! Understanding preferences, requirements and circumstances is important. I try hard to comprehend where the mentee comes from and what I need to do to get them to contribute to Free Software. Mentoring is about their, not about my needs, nor the project's I mentor for.

2. Build a Relationship

The most important goal is that you build a relationship based on trust and respect with the mentee. Without this, I believe, everything else you'll do is in vein. Newcomers are overwhelmed and insecure about their skills and it's your job to take that fear from them. Because fear is the path to the dark side! It's the fun times together with you that will matter most to them later on, not so much what code fu-fu you have taught them.

Do not take this lightly. Relationships do not just happen, they need ongoing effort and attention, especially during the early stages. I find that the consistency of the relationship is what's most important. Talking as often as you can, finding a regular schedule where you meet and sticking to it is absolutely necessary, build a routine together.

3. Be a Role Model

A picture of a superman graffiti

Superman by Brian Fuller licensed CC BY-ND 2.0

This might sound like a weird thing from the past and it makes most people uncomfortable but you need to be a role model for your mentee. Free Software development is as much about behavior in a community, knowing what you want, and the ability to convey this to others as it is about pointers, gcc macros and git command line options. You need to ensure that your mentee can follow your example and that you're not passing on your bad habits. You are responsible for developing the competence AND character of the mentee.

4. Lead

Getting into Free Software development can be an overwhelming and daunting endeavor. Precise, reasonable and well-thought-out goals provide a path on which your mentee can take one step after the other into this strange new world. It's your duty that the goals and expectations for the project are actionable, fit your mentee's needs and are technically sound. You lead the way.

5. Audit

I find it important to understand and communicate where the mentee is and how they progress. Setting up regular milestones that I review and we celebrate together provide the opportunity to check and correct the course.

6. Applaud

As a grumpy German this is a tricky one for me. But anyhow, I think it's important to sharpen your senses for your mentee's personal achievements. You recall the excitement the first time you succeeded in setting up the development environment? Remember how invincible you felt once you finally got a hold of git? The time of your first merged pull-request? Now for you and me those things first happened a decade ago and all of this is just the daily grind. For the mentee it's super duper exiting. Make sure you recognize and acknowledge those achievements. Praise.

“In the best, the friendliest and simplest relations flattery or praise is necessary, just as grease is necessary to keep wheels turning. ” ― Leo Tolstoy, War and Peace

7. Collaborate

Whatever challenge you face, remember you are not alone. You mingle on the shoulders of giants together with many other mentors. Make sure you share your experience, your ideas and your problems with them. All of you strive to reach the same goal: getting people into Free Software. Make sure you work together in an open, transparent and friendly manner as part of our worldwide community.

8. Commit

Mentoring requires time, effort and endurance. It will cost you some evening you wanted to go out with your friends, at least a couple of thoughts every day and a lot of nerves because you explain things, that are obvious to you, over and over again. If you are not sure that you are willing to do this then it's probably better that you don't do it.

On the other hand mentoring will give you the satisfaction of being a positive influence in the life of someone else. You will see a new contributor grow into the Free Software community and you will achieve results that matter. You will also get the opportunity to learn something together and sometimes even making a new friend for life.

9. Adapt, be Agile

A picture of a tree grwoing around a bicycle

Bike Tree by Sea Turtle licensed CC BY-NC-ND 2.0

The only thing that is constant is change! You need to adapt your plan, milestones, time line, the technical details, your behavior and attitude during your time. Respond to change, help your mentee to do the same. Be open, courageous, and committed.

10. Don't Follow My Advise, Form Your Own Opinion

All of this is just my opinion and there are many awesome resources about mentoring in general and about mentoring for Free Software development in particular out there. Don't trust me, inform yourself and make up your own opinion. Here are some pointers:

the avatar of Richard Brown

Hello New World!

I’ve had to move my old blog from http://sysrich.co.uk to this new server on http://rootco.de

Most of my favourite blog posts have made the transition and have migrated from the ‘old fashioned’ Wordpress to the new and shiny Jekyll

It’s an excuse for me to learn a bit of Ruby, practice my markdown, and keep exercising my git skills

I plan to get back to blogging more often about the goings on in my world, especially about openSUSE and openQA

And just to give Jekyll a bit of a stretch on my first real post, here’s an openQA code snippit from Frederic Crozat’s recent submission to openQA

    select_console 'root-console';
    save_screenshot;
    
    script_run "cat /home/*/.xsession-errors* > /tmp/XSE.log";
    upload_logs "/tmp/XSE.log";
    save_screenshot;

    script_run "journalctl -b > /tmp/journal.log";
    upload_logs "/tmp/journal.log";
    save_screenshot;

    script_run "cat /var/log/X* > /tmp/Xlogs.log";
    upload_logs "/tmp/Xlogs.log";
    save_screenshot;

    script_run "ps axf > /tmp/psaxf.log";