1. Donated blood

    In past several friends suggested me to go and donate blood. For some reason I skipped that. Until today.

    At Red Hat we have those “We are Red Hat week” (WARHW in short) events. Do not ask me what is going on during them as I have no idea (as I work remotely). There are some celebrations in offices but for me closest one is in Berlin (and I still did not visit it).

    Since June there is another Red Hat guy in Szczecin: Damian Wojsław. So we decided to do something as kind of celebration of a WARHW. Warsaw office guys had idea to gather and donate blood so we followed.

    Took some forms to fill, blood check, quick chat with some doctor and then 450 ml of blood went away ;D

    Damian Wojsław
    Damian Wojsław
    Marcin Juszkiewicz
    Marcin Juszkiewicz
    Written by Marcin Juszkiewicz on
  2. Can Socionext SynQuacer be first 96boards desktop machine?

    During Linaro Connect SFO17 I had an occasion to take a look at first 96boards Enterprise Edition MicroATX format board: Socionext SynQuacer. Can it be called first 96boards desktop machine?

    Just to remind — 96boards EE specification defined two form factors:

    • custom 160x120mm
    • MicroATX

    There were attempts to build boards in that custom format (Husky, Cello) but they both failed terribly. Turns out that companies which are able to produce 96boards CE boards are not able to make more complicated ones.

    Connect ago I wrote about Systart Oxalis LS1020A board as being first 96boards EE one but it used that custom format.

    So going back to SynQuacer board…

    I would say that it looks like typical MicroATX mainboard:

    • four memory slots (DDR4, up to 64GB, ECC or not ECC)
    • CPU under heatsink (24 Cortex-A53 cores, 1GHz clock)
    • PCI-Express slots (x1, x1, x16 with just 4 lanes)
    • two SATA ports
    • Gigabit Ethernet port
    • two USB 3.0 ports at the back
    • connector for another USB 3.0 ports
    • 96boards low-speed connector (think sensors, serial console, tpm etc)
    • 24pin ATX power connector (no extra +12V ones)
    • power and reset buttons
    • fan connector
    • JTAG port
    Socionext SynQuacer
    Socionext SynQuacer

    The official announcement did not provide information about price. Only info present was that it will available in December 2017. During discussions with Socionext representatives I was told that full developer box will cost around 1000 USD and involve mainboard, memory, storage (rather not SSD), case and graphics card. Price for just mainboard was not provided as it looked like such option is not planned.

    From software point of view there was UEFI presented. With graphical boot. Upstreaming kernel support is in progress (Linaro provides 4.14-rc tree with required changes).

    Will it satisfy a need for AArch64 desktop? Time will show. From what I got from developers using it already performance is quite ok as long as it is multithreaded (so kernel build goes nice with -j24 until linking phase kicks in).

    Other option for AArch64 desktop would be Macchiatobin. Latest revisions are needed as PCI support got fixed (I was told that first revisions were unable to fully use PCI Express port). Bernhard Rosenkränzer was demoing such setup and it was running nicely.

    Written by Marcin Juszkiewicz on
  3. Fridge magnets

    All started few years ago when I had no idea for a gift from Orlando. So I brought my wife magnet with “someone came for Florida and I got was that stupid magnet” text. Some time later I started own collection…

    Today I reorganised magnets because had to add one but there was no space available. I have around 80 magnets from places I visited and some from places to visit.

    Fridge magnets collection
    Fridge magnets collection

    With this amount I had to find a way to not loose track. So I created a map. And then created separate page about my fridge magnets collection.

    And small request at the end: if you live in one of places with red marker and there is an option that we meet (conference, other event) then would be great if you bring me magnet ;D

    Written by Marcin Juszkiewicz on
  4. Moar X-Genes!

    At Linaro we have one of those HPe Moonshot beasts. Basically it is chassis with some Ethernet switches built-in. Then you can plug cartridges with processors into it. There are some x86-64 ones and there are M400 ones with X-Gene cpu, 64GB ram and some SSD storage.

    And there was delivery at Linaro office. With huge pile of M400 cartridges. Gema opened chassis and started to plug one after another until we got all 45 slots used (we had 15 cartridges before):

    Moonshot chassis filled with m400 cartridges
    Moonshot chassis filled with m400 cartridges

    Turned out that one slot is dead so we have to live without c22n1 cartridge. But that still gives us 44 octa core systems. Each has 64GB ram, storage size varies (some have 480GB, some 120GB, some do not want to tell).

    We are waiting for another chassis to fill it with rest of M400s ;D

    There will be some work as we need to get them updated to be SBSA/SBBR compliant (U-Boot -> kernel is something I leave for some Company but it is not how Linaro expects) - we need to replace firmware setup.

    Plans for use? Linaro Developer Cloud, OpenStack 3rdparty CI and probably several other targets.

    Written by Marcin Juszkiewicz on
  5. We need some thermite…

    Time goes and it is that time of year where Linaro Enterprise Group is working on a new release. And as usual jokes about lack of thermite starts…

    Someone may ask “Why?”. Reason is simple: X-Gene 1 processor. I think that it’s hateclub grows and grows with time.

    When it was released it was a nice processor. Eight cores, normal SATA, PCI Express, USB, DDR3 memory with ECC etc. It was used for distribution builders, development platforms etc. Not that there was any choice :D

    Nowadays with all those other AArch64 processors on a market it starts to be painful. PCI support requires quirks, serial console requires patching etc. We have X-Gene1 in Applied Micro Mustang servers and HPe Moonshot M400 cartridges. Maybe officially those machines are not listed as supported but we still use them so testing a new release work there has to be done.

    And each time there are some issues to work around. Some could probably be fixed with firmware updates but I do not know do vendors still support that hardware.

    So if you have some spare thermite (and a way to handle that legally) then contact us.

    Written by Marcin Juszkiewicz on
  6. Is my work on Kolla done?

    During last few months I was working on getting Kolla running on AArch64 and POWER architectures. It was a long journey with several bumps but finally ended.

    When I started in January I had no idea how much work it will be and how it will go. Just followed my typical “give me something to build and I will build it” style. You can find some background information in previous post about my work on Kolla.

    A lot of failures were present at beginning. Or rather: there was a small amount of images which built. So my first merged change was to do something with Kolla output ;D

    • build: sort list of built/failed images before printing

    Debian support was marked for removal so I first checked how it looked, then enabled all possible images and migrated from ‘jessie’ to ‘stretch’ release. Reason was simple: ‘jessie’ (even with backports) lacked packages required to build some images.

    • debian: import key for download.ceph.com repository
    • debian: install gnupg and dirmngr needed for apt-key
    • debian: enable all images enabled for Ubuntu
    • handle rtslib(-fb) package names and dependencies
    • debian: move to stretch
    • Debian 8 was not released yet

    Both YUM and APT package managers got some changes. For first one I took care to make sure that it fails if there were missing packages (which was very often during builds for aarch64/ppc64le). It allowed to catch some typo in ‘ironic-conductor’ image. In other words: I make YUM behave closer to APT (which always complain about missing packages). Then I made change for APT to behave more like YUM by making sure that update of packages lists was done before packages were installed.

    • ironic-conductor: add missing comma for centos/source build
    • make yum fail on missing packages
    • always update APT lists when install packages

    Of course many images could not be built at all for aarch64/ppc64le architectures. Mostly due to lack of packages and/or external repositories. For each case I was checking is there some way for fixing it. Sometimes I had to disable image, sometimes update packages to newer version. There were also discussions with maintainers of external repositories on getting their stuff available for non-x86 architectures.

    • kubernetes: disable for architectures other than x86-64
    • gnocchi-base: add some devel packages for non-x86
    • ironic-pxe: handle non-x86 architectures
    • openstack-base: Percona-Server is x86-64 only
    • mariadb: handle lack of external repos on non x86
    • grafana: disable for non-x86
    • helm-repository: update to v2.3.0
    • helm-repository: make it work on non-x86
    • kubetoolbox: mark as x86-64 only
    • magnum-conductor: mark as x86-64 only
    • nova-libvirt: handle ppc64le
    • ceph: take care of ceph-fuse package availability
    • handle mariadb for aarch64/ubuntu/source
    • opendaylight: get it working on CentOS/non-x86
    • kolla-toolbox: use proper mariadb packages on CentOS/non-x86

    At some moment I had over ten patches in review and all of them depended on the base one. So with any change I had to refresh whole series and reviewers had to review again… Painful it was. So I decided to split out the most basic stuff to get whole patch set split into separate ones. After “base_arch” variable was merged life became much simpler for reviewers and a bit more complicated for me as from now on each patch was kept in separate git branch.

    • add base_arch variable for future non-x86 work

    At Linaro we support CentOS and Debian. Kolla supports CentOS/RHEL/OracleLinux, Debian and Ubuntu. I was not making builds with RHEL nor OracleLinux but had to make sure that Ubuntu ones work too. There was funny moment when I realised that everyone using Kolla/master was building images with Ocata packages instead of Pike ;D

    • Ubuntu: use Pike repository

    But all those patches meant “nothing” without first one. Kolla had information about which packages are available for aarch64/ppc64le/x86-64 architectures but still had no idea that aarch64 or ppc64le exist. Finally the 50th revision of patch got merged so it now knows ;D

    • Support non-x86 architectures (aarch64, ppc64le)

    I also learnt a lot about Gerrit and code reviews. OpenStack community members were very helpful with their comments and suggestions. We had hours of talk on #openstack-kolla IRC channel. Thanks goes to Alicja, Duong Ha-Quang, Jeffrey, Kurt, Mauricio, Michał, Qin Wang, Steven, Surya Prakash, Eduardo, Paul, Sajauddin and many others. You people rock!

    So is my work on Kolla done now? Some of it is. But we need to test resulting images, make a Docker repository with them, update official documentation with information how to deploy on aarch64 boxes (hope that there will be no changes needed). Also need to make sure that OpenStack Kolla CI gets Debian based gates operational and provide them with 3rdparty AArch64 based CI so new changes could be checked.

    Written by Marcin Juszkiewicz on
  7. So you run OpenStack on your phone?

    For about a year I have been working on OpenStack on AArch64 architecture. And the question from the title is asked from time to time in this or other forms.

    Yes, I do have AArch64 powered phone nowadays. But it has just 4GB of memory and runs Android. So is not a good platform for using OpenStack.

    I am aware that for many people anything which came from ARM Ltd means small, embedded, not worthy serious effort etc. For me they are not wrong — they are just ‘not up to date’.

    We have servers. Sure, someone can say that we had them years ago and it will be right too. There were Marvell server boards, Calxeda had their “high density” boxes with huge amount of quad core cpus. But now we have ‘boring’ ones which can be used in same way as x86-64 ones.

    ARM Ltd published SBSA and SBBR specifications which define what ARM server is nowadays. Short version is “boring box which you put into rack, plug power and network, power it on and install any Enterprise Linux distribution”. No need to deal with weird bootloaders (looking from server perspective), random kernel versions etc. Just unpack, connect and use.

    But what you get inside? It depends on product. Can be 1 cpu with 8 cores but can also be 1-2 cpus with 48 cores per cpu. Or even more (I heard about 240 cpu cores products but not idea are they on market now). And processors means memory. What about 1TB (terabyte) of memory per CPU? Cavium ThunderX mainboards allow such setup with 8 memory dimms per cpu.

    Then goes network. With 32bit ARM machines the problem was “will it support 1GbE?” and with AArch64 servers that problem can re-appear too as some systems do not support ports with less than 10GbE (some ThunderX boards have 3x40GbE + 4x10GbE ports). RJ-45 connector is usually to connect with BMC (think IPMI).

    Storage is Serial-ATA, whatever you plug into PCI Express or something on network. Choose your way. I would not be surprised with M.2 connectors too.

    Usually that means that several PCI Express chips are present on board to provide all that. On AArch64 most of controllers are already part of SoC to make things easier and faster.

    On top of that we run standard distributions like CentOS, Debian, Fedora or OpenSUSE. Out of box, with distro kernels based on mainline kernels. And then we install OpenStack. From packages, as Docker containers, using devstack or any other way we tend to use.

    And when I really have to use OpenStack on my phone then it looks like this:

    OpenStack dashboard on a phone
    OpenStack dashboard on a phone
    Written by Marcin Juszkiewicz on
  8. First 96boards Enterprise board which will be on a market?

    I am at Linaro Connect in Budapest, Hungary. And on Arrow’s stand I noticed something I did not expected — 96boards Enterprise Edition form factor board.

    In past Linaro presented ‘Husky’ and ‘Cello’ devboards in 96boards EE form factor. None of them ever reached production. Only few prototypes existed (had some of them in hands). Both products were complete failures.

    Systart Oxalis LS1020A got announced about month ago. They target routers, IoT gateways type devices with it.

    System on Module on carrierboard
    System on Module on carrierboard

    As you can see board has ports all over the edges but that’s fault of 96boards EE specification which mandate such broken designs. When I saw it first time my question was “where is PCIe slot?” but found out that (according to spec) it is optional. Board has mini-pcie slot on bottom side anyway.

    Speaking of design… Oxalis is made from two parts: carrier board and SoM (System on Module). SoM is based on NXP Network Processor QorIQ® LS1012A processor (single ARM Cortex-A53 core running up to 800 MHz) with 64MB of SPI flash (space for bootloader!) and 1GB of memory. Carrier board gives two GbE network ports, two USB 3.0 connectors, standard 96boards header, one SATA port (with power!), microSD and mini-pcie slot (on bottom side).

    System on Module top view
    System on Module top view
    System on Module bottom view
    System on Module bottom view

    The beauty of such design is that you can replace CPU board with something different. According to Dieter Kiermaier from Arrow there are plans for other SoM board in future.

    Carrierboard
    Carrierboard

    Will it be success? Time will show. Will I buy it? Rather not as for my development I need 16GB ram. Will it have case? Not asked. When on market? May/June 2017.

    Written by Marcin Juszkiewicz on
Page 17 / 105