openSUSE Leap 42.3 on Google Cloud Platform (GCP)
Anyway, its been a good 4+ years since my last entry and the longest hiatus... glad and grateful to say that I am now working for Google. My personal Linux passion is still very much alive and personal bias towards all things SUSE (more openSUSE since 2011).
Problem Statement:
So, it is May 2018 and I am little disappointed that openSUSE Leap did not make it to the out-of-the-box public images on Google Cloud Platform (GCP). However, it is listed in the "Community supported images" category.PS: I'm placing my vain hope that Leap 15 will make it though...
This blog entry describes the steps to create a vanilla openSUSE Leap 42.3 VM on GCP and thereafter, create a custom image from this said VM so you can easily/quickly create openSUSE Leap 42.3 VMs for other workloads in the future through the GCP Web Console.
From this point on, I will assume you have a GCP account and therefore access to GCP consoles etc. It is not difficult to start with Google Cloud Platform, just go to https://cloud.google.com/free/ to get a Free Tier account.
Create an openSUSE Leap 42.3 VM on GCP:
- Login to your GCP console and your project (default or otherwise).
- From Menu (top-left), Compute Engine -> VM instances
- Note that openSUSE is not listed as an Operating System image when you try to create a new VM. This is well documented at the Images section of the Compute Engine topic.
- Launch the Cloud Shell within the console, on the top-right.
- Find the available community supported openSUSE Leap image with the following command input to the Cloud Shell.
- Create a VM with the openSUSE Leap 42.3 image in the Singapore datacenter (or any Zones that is closest to you)
- gcloud compute instances create osleap423 --image-family opensuse-leap --image-project opensuse-cloud --zone asia-southeast1-a
- For Reference, the available parameters for gcloud compute instances create at this link - https://cloud.google.com/sdk/gcloud/reference/compute/instances/create
- Verify that the VM has been created in the console
- SSH into your newly created openSUSE Leap 42.3 VM to download and apply the latest updates/patches. Click the SSH button (see screenshot above).
- Reboot the VM to test all updates are working.
- Reboot: sudo reboot. You will lose SSH connection, naturally.
- Sign back in via SSH button... it may take a few tries as the VM is rebooting.
- Sign out of SSH: exit
- Shutdown the VM. Select the VM (checkbox) from the Console and Click STOP.
Create a custom image in your GCP Project for Re-use later:
- From the GCP console, navigate to Compute Engine -> Images
- Click [+] CREATE IMAGE
- Put in the name of your new image (eg. my-opensuse-leap-423) and select Source as Disk and Source disk as the boot disk from the right VM (eg. osleap423).
- (Optional) You can click the command line link at the bottom to note the equivalent Cloud Shell command. This is useful if you want to script actions for future re-use and not use the web-console.
- Once your custom image is created, you will be able to select it for the next VM you wish to create.
![]() |
![]() |
Crazy complexity
Microsoft sabotaging someone else's computers
O2 attacking their own customers
Dark design patterns
Motorola Droid 4 is now usable
Introducing Chafa
Here’s something I didn’t know: The DEC VT100 turns 40 in August. This factlet comes courtesy of Wikipedia, as I’m not quite old and wise enough to have made its acquaintance outside of a museum. None the less, the VT100 and its extended family of hard-working office furniture has always been with me in terms of the ECMA-48 standard, better known as ANSI X3.64 or simply (and these days, probably as accurately as any formal descriptor) “ANSI codes“, which it helped pioneer.
This pinnacle of 1970s UX is somehow still going strong, and recent developments like lots and lots of colors, ubiquitous Unicode support, good monospace fonts, etc. have opened up some interesting possibilities for creative abuse in a rich tradition that dates all the way back to manual typewriters, if not further. Previous entrants in this category are the venerable aalib and libcaca, and more recently there’s timg and others that use the U+2580 half-block symbol.
I wrote a small tool to further improve on this. It combines a range of Unicode symbols in an attempt to minimize the squared error of the output, and has plenty of bells and whistles besides. Check it out.
More fun with Freeipa and DNS: Funky records
After all the fun we had in part 1 of our FreeIPA + DNS series, we now come to a new chapter.
During the move of openSUSE to Let’s Encrypt we used the excellent tool from ssllabs to verify each server after we changed the certificate. One of our coworkers noted “Hey, why don’t you have a CAA record. It would give you an even better score”. CAA records allow the domain owner to specify which certificate authorities are allowed to create certificates for this domain. Which seems to be a nice benefit for little work. For a longer explanation see this blog post from Qualys.
Madrid GNOME+Rust Hackfest, part 3 (conclusion)
The last code I wrote during the hackfest was the start of code generation for GObject interfaces. This is so that you can do
gobject_gen! {
interface Foo {
virtual fn frob(&self);
}
}
and it will generate the appropriate FooIface like one would expect
with the C versions of interfaces.
It turns out that this can share a lot of code from the existing code generator for classes: both classes and interfaces are "just virtual method tables", plus signals and properties, and classes can actually have per-instance fields and such. I started refactoring the code generator to allow this.
I also took a second look at how to present good error messages when
the syn crate encounters a parse error. I need to sit down at home
and experiment with this carefully.
Back home
I'm back home now, jetlagged but very happy that gnome-class is in a much more advanced a state than it was before the hackfest. I'm very thankful that practically everyone worked on it!
Also, thanks to Alberto and Natalia for hosting me at their apartment and showing me around Madrid, all while wrangling their adorable baby Mario. We had a lovely time on Saturday, and ate excellent food downtown.


From novice to Community Manager
The purpose of this article is twofold. First, as thanks to the openSUSE Community. And to invite the openSUSE Community to join me!
![]() |
| To join, sign up at https://lopsa.org/Join-or-Renew and apply the coupon-code 'OPENSUSE' at checkout. You can also email me directly at community@lopsa.org with any questions, comments, or suggestions. |
Thank you openSUSE Community!
- Drew Adams is a long-time friend whom I first met in meat-space at a friend's Birthday. He got me involved with the openSUSE Project, showing me I didn't need to be a programmer to contribute. As a current LOPSA board member, he alerted me to the Community Manager position, which thankfully due to the involvement he engaged me in so many years ago I qualified for.
- Bryen Yunashko was a member of the openSUSE board when I began participating in the Project. He encouraged me to represent openSUSE at the 2011 Novell Brainshare Expo in Salt Lake City. He also helped me to arrange the means to get there. At the time I remember arguing for my own lack of experience and knowledge against this. His vehement encouragement pushed me to go and showed me I had not been giving myself enough credit.











