Skip to main content

the avatar of Flavio Castelli

Better Docker experience on openSUSE

I don’t know if you are aware of that, but Docker 0.7.0 has been released a couple of days ago.

You can read the full announcement here, but let me talk about the biggest change introduced by this release: storage drivers!

Docker has always used AUFS, a “unionfs-like” file system, to power its containers. Unfortunately AUFS is neither part of the official kernel nor of the openSUSE/SLE one.

In the past I had to build a custom patched kernel to run Docker on openSUSE. That proved to be a real pain both for me and for the end users.

Now with storage drivers Docker can still use AUFS, but can also opt for something different. In our case Docker is going to use thin provisioning, a consolidated technology which is part of the mainstream kernel since quite some time.

Moreover Docker’s community is working on experimental drivers for BTRFS, ZFS, Gluster and Ceph.

What changes now for openSUSE?

Running Docker is incredibly simple now: just use the 1 click install and download it from the ‘home:flavio_castelli:docker’ project.

As I said earlier: no custom kernel is required. You are going to keep the one shipped by the official openSUSE repositories.

Just keep in mind that Docker does some initialization tasks on its very first execution (it configures thin provisioning). So just wait a little before hitting its API with the Docker cli tool (you will just get an error because docker.socket is not found).

The road ahead

Support SLE

Right now Docker works fine on openSUSE 12.3 and 13.1 but not on SLE 11 SP3. During the next days I’m going to look into this issue. I want to have a stable and working package for SLE.

Make it more official

Once the package is proved to be stable enough I’ll submit it for inclusion inside of the Virtualization project on OBS.

So please, checkout Docker package and provide me your feedback!

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

recoll: indexed file searching that works

Today I discovered recoll, a tool for indexing files (i.e. both file names and contents, and including emails) and running searches over the index. It has both graphical and command-line interfaces, and unlike some other open-source tools that claim to do this job, it really seems to work. While traditional tools like grep and find work fine, grep for example was not designed to run searches with multiple search keys, and neither of them use an index, so every search walks the filesystem anew. Another traditional tool, locate, uses an index for speed, but it only knows how to search filenames (and paths), not file contents.

Anyway, recoll appears to be the open-source file indexing and searching tool that I was looking for. Here's how to install it in openSUSE:
Read more »

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

8 months with KDE and openSUSE - looking back after the 13.1 release

And so, finally openSUSE 13.1 is out of the door (I couldn’t celebrate like I wanted, as I’ve been very busy). This release has lots of improvements, and of course, the latest stable software from KDE. It is time (perhaps?) to look back and see what the team has done during this development cycle.

With regards to the KDE software packaging, the past 8 months have seen quite an increase in the involvement of poeple from the community. Aside the “usual suspects” like Raymond “tittiatcoke” Wooninck and Hrvoje “shumski” Senjan, we’ve seen offers from help from the Cloverleaf community (now folded into openSUSE) and in general an increase of non-SUSE contributions. Relationship with upstream has also improved, as a number of changes present in the packages were submitted directly to KDE (which is always a good thing).

There were also [some much-needed organizational changes in projects]({{ site.url }}/2013/09/kde-in-opensuse-repository-and-maintainership-changes/), to keep things manageable. And thanks to the effort of shumski, openSUSE offers, like other distributions, [regularly updated KF5 packages to help with development and testing]({{ site.url }}/2013/08/qt5-on-opensuse-including-experimental-kf5-packages/). Aside for the very-bleeding-edge-it-will-kill-you software, the team eats a lot of its own dogfood, testing things as much as possible (and suffering from fallouts, sometimes ;) before pushing them to stable packages.

The goals for the future? Make the KLyDE splitting, originally devised and implemented by Will Stephenson of KDE and SUSE fame, a reality for the next version of openSUSE (13.2): there are quite a number of months ahead so it’s the perfect time for changing things and testing. Aside splitting, we’ll be watching closely the KF5 work, so that once releasable versions come out (in about a year) we’ll be ready to offer them in the distribution (as an option over the stable 4.x series, of course).

It may not seem like a large list, but it is a lot of work. ;) So if you feel like helping, don’t be shy and drop us a note either on IRC (#opensuse-kde) or on the opensuse-kde maling list.

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

SLES 11: Upgrading mysql from SP2 to SP3

Under some condition, mysql is not able to restart after an upgrade from SLES11 SP2 to SLES11 SP3. The output messages are a bit misleading


131122 14:41:28 InnoDB: The InnoDB memory heap is disabled
131122 14:41:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131122 14:41:28 InnoDB: Compressed tables use zlib 1.2.7
131122 14:41:28 InnoDB: Using Linux native AIO
131122 14:41:28 InnoDB: Initializing buffer pool, size = 128.0M
131122 14:41:28 InnoDB: Completed initialization of buffer pool
131122 14:41:28 InnoDB: highest supported file format is Barracuda.
131122 14:41:28 InnoDB: Waiting for the background threads to start
131122 14:41:29 InnoDB: 5.5.33 started; log sequence number 4796605421
/usr/sbin/mysqld: Out of memory (Needed 64 bytes)
131122 14:41:29 [ERROR] Plugin 'INNODB_CMP' registration as a INFORMATION SCHEMA failed.
131122 14:41:29 InnoDB: Unable to allocate memory of size 8120.
131122 14:41:29 InnoDB: Assertion failure in thread 140387876259584 in file mem0mem.c line 361
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
13:41:29 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

key_buffer_size=16777216

In the end it turned out to be a permission problem with /var/run/mysql
To fix this:

chown -R mysql /var/run/mysql
rcmysql restart

This did it for me. I had this problem on several but not all instances of mysql on SLES11SP2 upgrading to SLES11SP3. My wild guess is that it is based upon if this was a fresh SP2 install or upgraded from an earlier service pack.

Entrenador de culturismo explica por que come cereal para el desayuno después de un entrenamiento joeie avanafil hogar – el mejor suplemento de culturismo sin esteroides, el mejor suplemento de entrenamiento sin esteroides – warframe wiki.

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

The Document Foundation elections: an intimacy between you, your choices and (maybe) the NSA guy

As many who follow the LibreOffice mailing lists know, soon we will have the elections for the Bord of Directors again. Without doubt, there will be a lot of good candidates and the choice will be difficult. Different competencies, personalities, sensibilities. As many parameters as there could ever be. Nonetheless, there is one parameter that was eliminated from before the first election: the corporate pressure.

From the very beginning of The Document Foundation, the Steering Committee and the initial Membership Committee knew that while corporations can contribute a lot to open source, they can also in some moments try to use the community bodies for their own interest. That is the reason that all elected bodies of The Document Foundation have the 30 per cent rule, where no more then 30 per cent of any body can have the same affiliation. In the same spirit, the election system was designed the way that it is technically impossible for anybody to know how a given member voted. From the experience with the "old good times" of OpenOffice.org, it was obvious that corporate influence can do a lot of harm and skew the elections in a considerable way. And even if the rule of 30 per cent is in place, it might be hard for a election officer or for a MC member to stand strong before a corporate pressure. And this was the reason why we chose a design that makes it impossible even for the election officer to know whom you voted for. This information is known only to you.

the avatar of Cameron Seader

openSUSE 13.1; VMware Workstation 9+ "Cannot find a valid peer process to connect to"

If your running VMware Workstation 9 and above and you use both existing and new VMs you can possibly get a return of "Unable to change virtual machine power state: Cannot find a valid peer process to connect to" error.

This does not happen with everyone, but the problem seems to come from the Nvidia drivers. At least as far as I can tell thus far. I have not been able to debug further because this problem is not happening to me. If you have this problem and your running the Nvidia 331.20 drivers then you will want to do the following.


1) Download the Nvidia 325.15 driver from here http://www.nvidia.com/object/linux-display-amd64-325.15-driver.html


Create a custom patched Nvidia driver.


2) Download the patch below for the latest kernel in openSUSE 13.1 which is 3.11+

http://cvs.rpmfusion.org/viewvc/*checkout*/rpms/nvidia-kmod/devel/kernel_v3.11.patch?revision=1.1&root=nonfree

save as kernel_v3.11.patch


3) Execute the following to create the custom patched Nvidia installer.

# sh NVIDIA-Linux-x86_64-325.15.run --apply-patch kernel_v3.11.patch
4) You will get a file output NVIDIA-Linux-x86_64-325.15-custom.run
5) You can now install this custom Nvidia driver which should fix your VMware Workstation problem.

Enjoy!

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

VLANs: tagged, untagged -- what's the difference?

I know this topic has probably been beaten to death elsewhere. . . What can I say? I can't help myself.

When there is an untagged VLAN on a switch or port, it means the VLAN information is private to the switch. No VLAN information is added to packets leaving the switch. This has a lot of important implications. A machine connecting to an untagged VLAN port does not need to know (and will not know) what VLAN it is in. If I'm connecting two switches together using a cable connected to untagged VLAN ports, each end of the cable could be in a different VLAN and the switches will not care. So, for example, I could send untagged VLAN 1 from one switch and bring it into another switch as untagged VLAN 20.

Tagged VLAN means that the switch does insert the VLAN information into the header of each packet. In fact, this information is called a "tag", hence the term "tagged VLAN", which means "VLAN where packets contain VLAN tags". Assuming I'm sending tagged VLAN packets (and no untagged ones) on a port, if I connect the eth0 interface of a vanilla-installed PC to that port, and give the interface an address in the tagged VLAN's range, the network will not work over that interface. Of course, I will be able to 'see' the packets using wireshark or tcpdump, but I won't be able to make TCP, UDP, ICMP, etc. connections.

the avatar of Cameron Seader

Running Webex on openSUSE 13.1 64-bit

If your running openSUSE 13.1 and you use Webex on a regular basis for home/work/other you have probably noticed that it does not execute properly and you can't get some of the features to work on it. Well look no further. Thanks to my colleague dvosburg you can run the below command on your openSUSE 13.1 and it will install the necessary packages and its dependencies that are required for a good Webex experience.

zypper in libpango-1_0-0-32bit \
libpangomm-1_4-1-32bit \
libpangox-1_0-0-32bit \
libgtk-2_0-0-32bit \
libgtk-3-0-32bit \
libglib-2_0-0-32bit \
libXau6-32bit \
libXmu6-32bit \
libxcb1-32bit_64 \
libXext6-32bit 


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

LibreOffice Import filters - what is stewing in the sauce-pan

Long time not see, dear friends. But that does not mean that there is nothing to speak about. So, hence a new blog post for those that were wondering what was happenning in the reverse-straight engineering partnership.

After the moments in August and September, where I transitioned from working on LibreOffice to working on SuSE Linux Enterprise and after some breathing pause to give to the Cesar (or also known as family) what is belonging to Cesar, the activity on LibreOffice related stuff restarted in October. Just this time, during nights, weekends and other free time.

Sample Keynote presentation in LibreOffice 4.2

It is with a huge pleasure that I realized that we start to have a vibrant developer community around the libwpd/libwpg family, as well as around Valek's reverse-engineering framework. SUSE Hackweek 10 helped me to produce an initial importer for Freehand file-format. Close to that, David Tardon of RedHat fame added a library to parse Keynote files and a library to convert different e-book file-formats. Laurent Alonso works like a bee on importing Microsoft Works spreadsheets (*.wks). Many exciting things in the pipeline, as you can see.

Wireframe of shapes from a sample Freehand drawing in LibreOffice 4.2

With the extension to presentations and spreadsheets, we decided that the time has come to simply break the super-stable libwpd/libwpg API and profit to make it even more future-proof and in the same token solve some of the API issues that were preventing us from importing correctly several features; most notable of which the Visio connectors.

librevenge

We decided to diminish drastically dupplication of code and we extracted from libwpd, libwpg and from libetonyek the API classes along with the used types. We created a new library, librevenge where we also added as sub-libraries the (structured) stream implementations that used to be in libwpd-stream, as well as several classes that the libraries used to copy and paste between them. The structured stream implementations support now both OLE2 and Zip containers and the relevant libraries assume this. That means that we will have to eventually extend the WPXSvStream implementation in LibreOffice's "writerperfect" module to cater for Zip too.

A new sub-library, librevenge-generators has the simple implementations of the interface classes that we use to convert documents into html, text, or that we use to see the raw API calls for the purpose of regression testing. The exception is the RVNGSVGDrawingGenerator class. In the current stable branches, all of the libraries that convert graphics file-formats contain an SVG generator and they rely on its presence in several cases for things like fills with vector graphics. This class is thus not part of the librevenge-generators library, but of the base librevenge, which is a hard dependency of all of the converter libraries.

RVNGPropertyList

The base type for passing information using the API callbacks is RVNGPropertyList, which was born from libwpd's WPXPropertyList. We modified the design of this class the way that each atrribute can have as a value either a simple property or an array of RVNGPropertyList element. This allows us to do more or less all that JSON is able to do. The API classes are even more flexible and future-proof, since extending the information passed in the different callbacks will not modify function signatures.

Quality improvement

Although the relevant libraries were quite extensively regression-tested in the past, the new librevenge extends the coverage of unit tests. We hope that this helps us to keep under control the basic functionalities without having to use the heavy regression tests on each commit.

Other effort is to avoid to copy in the API calls huge data structures. This effort will result in some performance improvements especially if a document contains a lot of shapes that are filled by different bitmap fills.

When will it be ready?

When it is ready! But seriously, we are trying to take our time and get the APIs right. Like this we intend to prevent gratuitous breakages of binary compatibility in the future. So, it will not be in LibreOffice 4.2 for sure.

If this is interesting for you, please drop by at #libreoffice-dev channel at irc.freenode.net in order to meet us. We cannot promise you that you will become rich, but we can guarantee you fame and eternal gratitude

the avatar of Klaas Freitag

openSUSE on RaspberryPi with ownCloud

This morning during a cup of coffee I wanted to do something adventurous. I put the raspberry which I bought recently (without having very much played with it because of my light apt-* allergy) on the table and thought I will try to install the openSUSE distribution.

I remembered awesome Bernhard was blogging about that topic recently. On that page one can find this link where raspberrypi images can be found. Oh, surprise, there is even a file from november 10th, so I downloaded that. People always recommend the latest stuff.

Following this Howto I quickly had the RaspberryPi running in my home network, surprisingly enough identifying itself as powered by openSUSE 13.1 :-)

Well, that was easy and far away from adventure which I was looking for. So I remembered that the cool kids on the block have an ownCloud server running on the RaspberryPi. Would that be as easy? There are no official packages for the Pi yet, so what could I do?

Well, ownCloud is noarch, because it is plain PHP. So I downloaded the two ownCloud server packages owncloud and owncloud-3rdparty from our ownCloud nightly build repository on OBS and installed them with

zypper in owncloud owncloud-3rdparty

I was (adventure!) ignoring all the warnings and stuff, what you should never do! Just for a test, before the coffee is cold.

After having started apache, what should I say? It simply worked. No need for antihistamine, all nice green around, and ownCloud running after having finished it’s setup page.

That really pushed me for the day! It was such a smart experience having that running within a couple of minutes, with absolutely no fiddling around. This is cool stuff! Thanks to Bernhard and all the other openSUSE guys for doing that!

My congrats for the 13.1 release! I really hope that people will understand (again) how awesome the openSUSE distribution and the project is, especially for the more nerdy folks! Really, you wanna run the Geeko these days.

Enough praise, now, maybe there is somebody who will help me in OBS to provide proper ownCloud packages for ARM? I am sure there is not much missing.

And if you want to run ownCloud on your “normal” PC, this is the repository of the latest stable version which we actively maintain…