SSD + Breakout Cables

I am not as up to speed with storage as I would like to but this blog gives you a quick intro for the different types of SSD.

As well, this week struggled a bit with a 100G port that had to connect as 4x25G to some servers. It was a bit of time since I dealt with something similar. Initially I though I had to wait for the servers to power up so once the link in the other side comes up and the switch recognizes the port as 25G and creates the necessary interfaces. But I had eth1/1 only. I was expecting eth1/1, eth1/2, eth1/3 and eth1/4… The three extra interfaces were created ONLY after I “forced” the speed setting to “25G” in eth1/1….. I hope I remember this for next time.


When I was a kid, nearly every week, one night for dinner I had San Jocobo. But then I remember that my mum started buying pre-made ones…. didnt like them. Based on that, I wanted to try something similar, Cachopo.

To be honest, I think the best is to cook a cachopo for one meal, you just buy a piece of meat (I bought beef), prepare in the day and enjoy it warm. Because in my case, I prepared for a whole week, so three big pieces and it is not the same to eat it on the day that 4 days later.

The recipe is quite simple.


  • 2 steak fillets
  • 6 slices of ham (cure ham is better) – the number will depend on the size of your flatted out fillets
  • 6 slices of cheese (same as above)
  • Eggs + breadcrumbs
  • Salt + pepper
  • Olive oil


1- Season your fillets, leave them to rest at room temperature for 15 minutes at least. Get ready for the next steps

2- Put one fillet between two sheets of baking paper and then using a rolling pin, flatten it out as much as you can (I didnt do it…) Repeat for the second one. Try to make them match the size.

3- In one flat piece, put your ham and cheese. Then add the second flat piece. Be sure the ham/cheese is fully covered. Try to push the sides with the fingers so it is sealed (it is not going to be perfect). You can use tooth sticks (I didnt have)

4- In a plate, whisk two eggs. In other plate, put the breadcrumbs. Try to use one hand for handling the cachopo so you dont get dirty in both. Get the pan hot with oil

5- Pass the cachopo first by the eggs, both sides, then the breadcrumbs both sides. Fry until golden in both sides.

I had a small piece for lunch and it was good.

The Qur’an

I am not a religious person. I just follow my own philosophy. But I am curious about the Qur’an from a social and historical point of view. I think after watching “V for Vendetta” when Stephen Fry was praising the beauty of a Qur’an, that I told myself I had to read it one day. It is like some Bibles from the Middle Ages, they were master pieces. Actually, a couple of years ago I read a biography about The Prophet Muhammad. It was very good for understanding the social circumstances and how Islam developed. So I bought this version. The intro was interesting for preparing for what was coming. I knew the Qur’an was formed by “suras” and I thought they would come written chronologically but it is not. It seems the first announced suras are actually the last one written. And I learned that exegetes are experts in interpretations of (mainly) religious texts. And in like in any holy book, there are things that only God can explain based on the exegetes expertise.

To be honest I had some expectations. I though it would similar to the bible and quite poetic. The first suras were quite long. One of them touching a lot of subjects from inheritance, divorce, etc.

I was surprised that the Children of Israel are the chosen ones. When you see all the news in that region….

As well, there are many references to the People of the Book: Jews, Christians, Sabenas and Magians. And The Quran confirms that the Torah and the Evangelis are sent by God. So why so much trouble about the three?

I was surprised that Abraham, Moses and Noah are mentioned a lot of times. Then a bit less Jesus and Mary. So you can see a lot of connections between the Judaism and Christianity.

As well, there are a lot of comments about Judgement day, God punishments to people who rejected God via other prophets (Lot, Thamud, etc). I was looking for an entry about The Prophet and the mountain, but didnt read it. As well, it is confirmed that God created everything is 6 days. Another subjet is the hijad. The word itself is not mentioned in the translation but I only could read one clear statement about it (47:6). When there are other subject that are repeated much more often: prey to god, follow god, fear god, etc.

In general, the picture I got from the Qur’am (about customs, habits, education, etc) and what you see in the world is quite different. But this is what it is, interpretations. The same would happen if I read the Bible.


Some months ago I read about containerlab (and here). It looked like a very simple way to build labs quickly, easily and multi-vendor. I have used in the past gns3 and docker-topo for my labs but somehow I liked the documentation and the idea to try to mix cEOS with FRR images.

As I have felt more comfortable with the years with Arista and I had some images in my laptop, I installed the software (no mayor issues following the instructions for Debian) and try the example for a cEOS lab.

It didnt work. The containers started but I didnt get to the Arista CLI, just bash CLI and couldnt see anything runing on them… I remembered some Arista specific processes but none was there. In the following weeks, I tried newer cEOS but no luck always stuck in the same point. But at the end, never had enough time (or put the effort and interest) to troubleshoot the problem properly.

For too many months, I havent had the chance (I can write a post with excuses) to do much tech self-learning (I can write a book of all things I would like to learn), it was easier cooking or reading.

But finally, this week, talking with a colleague at work, he mentioned containerlab was great and he used it. I commented that I tried and failed. With that, I finally find a bit of interest and time today to give another go.

Firstly, I made sure I was running the latest containerlab version and my cEOS was recent enough (4.26.0F) and get to basics, check T-H-E logs!

So one thing I noticed after paying attention to the startup logs, I could see an warning about lack of memory in my laptop. So I closed several applications and tried again. My lab looked stuck in the same point:

go:1.16.3|py:3.7.3|tomas@athens:~/storage/technology/containerlabs/ceos$ sudo containerlab deploy --topo ceos-lab1.yaml 
INFO[0000] Parsing & checking topology file: ceos-lab1.yaml 
INFO[0000] Creating lab directory: /home/tomas/storage/technology/containerlabs/ceos/clab-ceos 
INFO[0000] Creating docker network: Name='clab', IPv4Subnet='', IPv6Subnet='2001:172:20:20::/64', MTU='1500' 
INFO[0000] config file '/home/tomas/storage/technology/containerlabs/ceos/clab-ceos/ceos1/flash/startup-config' for node 'ceos1' already exists and will not be generated/reset 
INFO[0000] Creating container: ceos1                    
INFO[0000] config file '/home/tomas/storage/technology/containerlabs/ceos/clab-ceos/ceos2/flash/startup-config' for node 'ceos2' already exists and will not be generated/reset 
INFO[0000] Creating container: ceos2                    
INFO[0003] Creating virtual wire: ceos1:eth1 <--> ceos2:eth1 
INFO[0003] Running postdeploy actions for Arista cEOS 'ceos2' node 
INFO[0003] Running postdeploy actions for Arista cEOS 'ceos1' node 

I did a bit of searching about containerlab and ceos, for example, I could see this blog where the author started up successfully a lab with cEOS and I could see his logs!

So it was clear, my containers were stuck. So I searched for that message “Running postdeploy actions for Arista cEOS”.

I didnt see anything promising, just links back to the main container lab ceos page. I read it again and I noticed something in the bottom of the page regarding a known issue…. So I checked if that applied to me (although I doubted as it looked like it was for CentOS…) and indeed it applied to me too!

$ docker logs clab-ceos-ceos2
Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted

So I started to find info about what is cgroup: link1, link2

First I wanted to check what cgroup version I was running. With this link, I could see that based on my kernel version, I should have cgroup2:

$ grep cgroup /proc/filesystems
nodev	cgroup
nodev	cgroup2

$ ls /sys/fs/cgroup/memory/
cgroup.clone_children           memory.kmem.tcp.limit_in_bytes      memory.stat
cgroup.event_control            memory.kmem.tcp.max_usage_in_bytes  memory.swappiness
cgroup.procs                    memory.kmem.tcp.usage_in_bytes      memory.usage_in_bytes
cgroup.sane_behavior            memory.kmem.usage_in_bytes          memory.use_hierarchy
dev-hugepages.mount             memory.limit_in_bytes               notify_on_release
dev-mqueue.mount                memory.max_usage_in_bytes           proc-fs-nfsd.mount
docker                          memory.memsw.failcnt                proc-sys-fs-binfmt_misc.mount
machine.slice                   memory.memsw.limit_in_bytes         release_agent
memory.failcnt                  memory.memsw.max_usage_in_bytes     sys-fs-fuse-connections.mount
memory.force_empty              memory.memsw.usage_in_bytes         sys-kernel-config.mount
memory.kmem.failcnt             memory.move_charge_at_immigrate     sys-kernel-debug.mount
memory.kmem.limit_in_bytes      memory.numa_stat                    sys-kernel-tracing.mount
memory.kmem.max_usage_in_bytes  memory.oom_control                  system.slice
memory.kmem.slabinfo            memory.pressure_level               tasks
memory.kmem.tcp.failcnt         memory.soft_limit_in_bytes          user.slice

As I had “cgroup.*” in my “/sys/fs/cgroup/memory” it was confirmed I was running cgroup2.

So how could I change to cgroup1 for docker only?

It seems that I couldnt change that only for an application because it is parameter that you pass to the kernel in boot time.

I learned that there is something called podman to replace docker in this blog.

So at the end, searching how to change cgroup in Debian, I used this link:

$ cat /etc/default/grub
# systemd.unified_cgroup_hierarchy=0 enables cgroupv1 that is needed for containerlabs to run ceos.... 
GRUB_CMDLINE_LINUX_DEFAULT="quiet systemd.unified_cgroup_hierarchy=0"
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
$ sudo reboot.

Good thing that the laptop rebooted fine! That was a relief 🙂

Then I checked if the change made any difference. It failed but because it containerlab couldnt connect to docker… somehow docker had died. I restarted again docker and tried container lab…

$ sudo containerlab deploy --topo ceos-lab1.yaml 
INFO[0000] Parsing & checking topology file: ceos-lab1.yaml 
INFO[0000] Creating lab directory: /home/xxx/storage/technology/containerlabs/ceos/clab-ceos 
INFO[0000] Creating docker network: Name='clab', IPv4Subnet='', IPv6Subnet='2001:172:20:20::/64', MTU='1500' 
INFO[0000] config file '/home/xxx/storage/technology/containerlabs/ceos/clab-ceos/ceos1/flash/startup-config' for node 'ceos1' already exists and will not be generated/reset 
INFO[0000] Creating container: ceos1                    
INFO[0000] config file '/home/xxx/storage/technology/containerlabs/ceos/clab-ceos/ceos2/flash/startup-config' for node 'ceos2' already exists and will not be generated/reset 
INFO[0000] Creating container: ceos2                    
INFO[0003] Creating virtual wire: ceos1:eth1 <--> ceos2:eth1 
INFO[0003] Running postdeploy actions for Arista cEOS 'ceos2' node 
INFO[0003] Running postdeploy actions for Arista cEOS 'ceos1' node 
INFO[0145] Adding containerlab host entries to /etc/hosts file 
| # |      Name       | Container ID |      Image       | Kind | Group |  State  |  IPv4 Address  |     IPv6 Address     |
| 1 | clab-ceos-ceos1 | 2807cd2f689f | ceos-lab:4.26.0F | ceos |       | running | | 2001:172:20:20::2/64 |
| 2 | clab-ceos-ceos2 | e5d2aa4578b5 | ceos-lab:4.26.0F | ceos |       | running | | 2001:172:20:20::3/64 |
$ sudo clab graph -t ceos-lab1.yaml 
INFO[0000] Parsing & checking topology file: ceos-lab1.yaml 
INFO[0000] Listening on :50080...       

After a bit, it seems it worked! And learned about an option to show a graph of your topology with “graph”

I checked the ceos container logs

$ docker logs clab-ceos-ceos1
[  OK  ] Started SYSV: Eos system init scrip...uns after POST, before ProcMgr).
         Starting Power-On Self Test...
         Starting EOS Warmup Service...
[  OK  ] Started Power-On Self Test.
[  OK  ] Reached target EOS regular mode.
[  OK  ] Started EOS Diagnostic Mode.
[     *] A start job is running for EOS Warmup Service (2min 9s / no limit)Reloading.
$ docker exec -it clab-ceos-ceos1 Cli
ceos1#show version 
Hardware version: 
Serial number: 
Hardware MAC address: 001c.7389.2099
System MAC address: 001c.7389.2099

Software image version: 4.26.0F-21792469.4260F (engineering build)
Architecture: i686
Internal build version: 4.26.0F-21792469.4260F
Internal build ID: c5b41f65-54cd-44b1-b576-b5c48700ee19

cEOS tools version: 1.1
Kernel version: 5.10.0-8-amd64

Uptime: 0 minutes
Total memory: 8049260 kB
Free memory: 2469328 kB

ceos1#show interfaces description 
Interface                      Status         Protocol           Description
Et1                            up             up                 
Ma0                            up             up                 
ceos1#show running-config interfaces ethernet 1
interface Ethernet1

Yes! Finally working!

So now, I dont have excuses to keep learning new things!

BTW, these are the different versions I am using at the moment:

$ uname -a
Linux athens 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux 

$ docker -v
Docker version 20.10.5+dfsg1, build 55c4c88

$ containerlab version

                           _                   _       _     
                 _        (_)                 | |     | |    
 ____ ___  ____ | |_  ____ _ ____   ____  ____| | ____| | _  
/ ___) _ \|  _ \|  _)/ _  | |  _ \ / _  )/ ___) |/ _  | || \ 
( (__| |_|| | | | |_( ( | | | | | ( (/ /| |   | ( ( | | |_) )
\____)___/|_| |_|\___)_||_|_|_| |_|\____)_|   |_|\_||_|____/ 

    version: 0.17.0
     commit: eba1b82
       date: 2021-08-25T09:31:53Z
 rel. notes:

My concern is, how this cgroup1 will affect other applications like kubernetes?

BTW, I have the same issue with containerlab as with docker-topo, when I use “Alt+Home(left arrow)” my laptop leave X-Windows and gets to the tty!!!

Chocolate Baklava

I have done chocolate baklava before, but I haven’t done my own chocolate spread either filo pastry.

Somehow I came to this video about the history of the most famous chocolate spread. And all started with Napoleon blocking Britain… and then lack of chocolate beans into Italy. To be honest, it was quite interesting all the details and the evolution to the product we have today. Funny enough, in Spain, we had a “local” version called nocilla. And it was amazing. I only found nutella in UK so I always though it was a local thing that chocolate spread. And I remember having nocilla in the fridge during summer time so it was hard and refreshing. And even used to try nocilla with cheese… dont know where that came from but it was an interesting taste of sweet and sour thing. Anyway, I have only bought nutella in the last years for baklava only as it was full of sugar (no much cocoa, hazelnut on it) and full of palm oil.

As well, I have always been keen to try to make filo pastry so I had this video in my to-cook list.

So combining both things, I spend the Saturday morning in my cooking challenge:

Chocolate Spread Ingredients:

  • 400g hazelnuts (not roasted so with skin) = 2 cups
  • 1 cup of powder sugar
  • 1 cup of 100% cocoa powder
  • pinch of salt
  • 2 tsp of coconut oil
  • 1 tsp vanilla paste (the real thing, no extract)
  • 100g dark chocolate
  • water

Chocolate Spread process:

  • Pre-heat oven at 175C. In a baking try spread the hazelnuts. Put in the oven
  • Remove after 15-20 minutes. Let to cool down a bit and remove skin. I used my hands rubbing the hazelnuts like washing my hands. I tried put some in kitchen towel but at the end I smashed them too much and I continue by hand.
  • Put all the hazelnut in the food processor. At medium/high speed for several minutes until you start seeing oil from the nuts and becomes more liquid than paste.
  • Then add the sugar, cocoa, salt, coconut oil and vanilla. Keep blending until everything is combined.
  • Then add the 100g dark chocolate melted by bain-marie
  • I didnt get a think paste, it was a bit creamy. I was happy with the taste but I decided to add the water as the video mentioned…. I added a bit of water and not sure what I did but the liquid paste became solid… I got in panic mode….. but I continued adding bit a water and blending until finally got a cream again!! Likely I added a full cup of water…. I tasted it and it was very good. Very dark chocolaty with a kick of the hazelnut at the end. It didnt taste as sugary as nutella so it nice (but it can be an issue if you expect nutella taste). As well, as it has just a bit of coconut oil, it is not going to spread like the commercial versions. I filled a 670ml glass jar and still got left overs that I was planning to use for the baklava.
  • Once the choco spread cools down, put in the fridge.

I tried the choco spread the next day for breakfast and to be honest, it tastes more like a chocolate mouse than a commercial choco spread.

In summary, quite happy with the result. I would like to compare with the commercial version but I decided that it wasn’t worth it. It is a quick recipe (apart from removing the skin from the hazelnuts) and you can use it as choco spread or mouse for dessert 🙂

Filo Pastry Ingredients:

  • 500g plain wheat flour
  • 250ml whole milk
  • 100ml vegetable oil
  • 10ml vinager
  • 5g salt
  • unti-stick mix: 200g thin corn flour + 100g plain wheat flour

Filo Pastry Process:

  • In a bowl, add milk, oil, vinager and salt. Mix well. Then add the 500g flour. Mix again until all combined.
  • Knead the mix on your work surface for 10 minutes or so until you have a smooth dough.
  • Wrap up in plastic film and let it rest for 1h on your work surface.
  • Prepare the anti-stick mix: combine the corn and wheat flour.
  • Dust your work surface with the anti-stick mix.
  • Divide the dough in 20 small pieces. Highly recommended to use a scale.
  • Each piece, create a ball and let it rest in a baking try. Cover the try with a kitchen towel or plastic film.
  • Then starts the “difficult” part. Pick one ball, use a bit of the anti-stick mix in your rolling pin and on the ball. Spread the ball in a circle around 13cm diameter or so. It should just a couple of moves in each direction. Then be generous with the anti-stick mix, as we need to create a stack of 10 pieces and it is critical so they dont stick. Put the first piece with anti-stick mix on top. And repeat the same process with other 9 balls.
  • Once you have the 10 pieces together, you have to spread all of them at the same time. Again be sure you have plenty of anti-stick mix in your work surface, rolling ping, etc.
  • Spread slowly in all directions, turning the stack, being careful that all layers spread equally.Likely you get up to 3 or 4 times bigger than the original form.
  • Now you have to remove each layer from the stack. Be careful, it should be paper thin!
  • In baking paper, with a layer of anti-stick mix, put each layer adding extra anti-stick mix on top. After adding the 10th layer, use another piece of baking paper and now roll everything together slowly. If you want to keep it in the freezer of fridge, then wrap the roll with plastic film.
  • Repeat the same process with the final 10 balls.
  • So at the end you end with two packets with 10 layer each.

Honestly, I failed miserably here. Just in the very beginning, I added by mistake 500ml of milk instead of 250ml. I was surprises of how wet was the dough… until I noticed my mistake. I decided to carry on, just doubling the amount (aprox) of flour. I didnt add extra vinegar neither salt. I think I should have done it…. Then finally I managed to knead the dough as per video and let it rest.

Then again, another mistake, I should have weight the balls as I ended with different size balls that then made different size (and thin) layer.

And final mistake, use plenty of anti-stick mix, so obviously, the layer dont stick when you try to spread the stack of 10 layers.

I couldnt remove any layer form the first stack so I decided not trying with the second stack. So this was my toolkit for baklava….

By the way, as I had a double dough. I left half of it in the fridge so I could decide if trying next day.

Chocolate Baklava Ingredients:

  • 20 layer of filo pastry (as above)
  • 250g of unsalted butter melted (1 cup)
  • 1 cup of choco spread (as above) melted
  • 1 cup of chopped hazelnuts (200g)
  • 1 cup of honey
  • 1/2 cup of chopped pistachios (optional)

Chocolate Baklava Process:

  • Pre-heat oven at 175C.
  • I used a rectangular baking glass dish. Use a bit of butter to spread in the bottom of it.
  • Align all your filo pastries and try to get the form of your baking dish trimming with a sharp knife.
  • Place one filo layer in the dish. Brush generously with melted butter. Repeat with another 5 layers, brushing the top of each sheet with melted butter.
  • Drizzle 1/2 cup of the melted choco spread over the first butterd filo layers. Use a spatula. Sprinkle 1/2 cup of chopped hazelnuts. Drizzle 1/4 cup of honey.
  • Layer 6 more sheets of filo over the choco spread, brushing each sheet generously with the melted butter. After the last buttered, drizzle the other 1/2 cup of melted choco spread, using a spatula. Sprinkle 1/3 of chopped hazelnuts. and drizzle 1/4 of honey.
  • Add the last 4 filo sheets, buttering each one. Using a sharp knife, cut the baklava in even squares.
  • Brush the remaining butter over the top the cut baklava. Sprinkle the rest of hazelnuts.
  • Put in the oven for 30 minutes or until golden on top.
  • Once removed from the oven, immediately drizzle the last 1/2 cup of honey.
  • Add the chopped pistachios (optionally). Let is rest for 2 hours.
  • Drizzle any left over choco spread (it has to be quite liquid – if solid again, use a bit the microwave)
  • Let the choco spread to set and ready to eat!

To be honest, the taste was quite different from the other times I have done it with filo and choco-spread bought in a shop.

It tastes much less sweet (as I use much less sugar that the commercial version), I didnt use all the honey and the filo pastry wasnt the best. It wasnt very crunchy.

I tried again this morning, and it taste better.

I am happy with the result but I have room for improvement!!!

PD: The chocolate spread becomes a bit sour with the weeks in the bridge so you should eat it quick 😛