Magneticore

Development, Operations and Design

  • Articles
  • Resume
  • About Me
  • Contact
  • DevOps
  • Featured
  • Astronomy
  • Portfolio
  • UI/UX
You are here: Home / Archives for Articles

Ubuntu Change Network Interface from p2p1 to eth0

August 15, 2014 by Jorge Morales

Here is the situation:

I just installed Ubuntu Server 14.04 and then noticed a change when it ask me to configure the network.

Instead of the traditional “eth0” and “eth1” I had “p2p1” and “p2p2”

My first question was: What is p2p1 mean?

Servers often have multiple Ethernet ports, either embedded on the motherboard, or on add-in PCI cards.

Linux has traditionally named these ports ethX, but there has been no correlation of the ethX names to the chassis labels – the ethX names are non-deterministic. Starting in your brand new Linux distribution, Ethernet ports will have a new naming scheme corresponding to physical locations, rather than ethX.

Ethernet ports embedded on server motherboards will be named em<port_number>, while ports on PCI cards will be named p<slot_number>p<port_number>, corresponding to the chassis labels.

Additionally, if the network device is an SR-IOV Virtual Function or has Network Partitioning (NPAR) capability, the name will have a suffix of _<virtual_function> or _.

Second question was: How do I fix it?

[Read more…]

Filed Under: Articles Tagged With: linux, ubuntu

The Solar System Infographic

October 19, 2013 by Jorge Morales

The solar system – well known from countless documentaries. 3D animation on black background.

This infographic videos tries something different. Animated infographics and a focus on minimalistic design puts the information up front. We take the viewer on a trip through the solar system, visiting planets, asteroids and the sun.

Filed Under: Articles, Astronomy Tagged With: astronomy

DevOps seeds

July 31, 2013 by Jorge Morales

Success

As promised let’s chat about the tools we at Coral now use in our development process. The first tool is for easy VM creation.

Veewee is a tool for easily (and repeatedly) building custom Vagrant base boxes, KVMs, and virtual machine images.

With Veewee I demo to my team how to create a VM from the OS ISO in just a few minutes.

Veewee isn’t only for Vagrant. It currently supports exporting VM images for the following providers:

  • VirtualBox – exports to OVF filetype
  • VMware (Fusion) – exports to OVA filetype
  • KVM – exports to IMG filetype

Check Veewee on GitHub

A sample of the settings available to tuned your VMs are:


Veewee::Session.declare({
  :cpu_count => '2',
  :memory_size=> '2048',
  :disk_size => '256000',
  :disk_format => 'VDI',
  :hostiocache => 'off',
  :os_type_id => 'RedHat6_64',
  :iso_file => "CentOS-6.5-x86_64-minimal.iso",
  :iso_src => "http://yum.singlehop.com/CentOS/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso",
  :iso_md5 => "0d9dc37b5dd4befa1c440d2174e88a87",
  :iso_download_timeout => 1000,
  :boot_wait => "10",
  :boot_cmd_sequence => [
    ' text ks=http://%IP%:%PORT%/ks.cfg'
  ],
  :kickstart_port => "7122",
  :kickstart_timeout => 10000,
  :kickstart_file => "ks.cfg",
  :ssh_login_timeout => "10000",
  :ssh_user => "veewee",
  :ssh_password => "veewee",
  :ssh_key => "",
  :ssh_host_port => "7222",
  :ssh_guest_port => "22",
  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
  :shutdown_cmd => "/sbin/halt -h -p",
   :postinstall_files => [
    "base.sh",
    "vmwaretools.sh",
    "dynmotd",
    "coral.sh",
    "cleanup.sh",
    "zerodisk.sh"
  ],
  :postinstall_timeout => 10000
})

Post-Install files and scripts

If some degree of personalization and optimization of the VMs is required you can do so calling scripts.

  • Base.sh
    • Installs Epel Repo and standard build essential packages
  • vmwaretools.sh
    • VMWARE Tools for ESXi/Vsphere
  • dynmotd
    • Provides servers basic information after ssh session ie. IP address/Server Name
  • coral.sh
    • Creates Coral User with privileges and directories
  • cleanup.sh
    • Deletes temp files, removes persistent network config (MAC) and Sets HOSTNAME
  • zerodisk.sh
    • Zero out the free space to save space in the final image

DEMO…

TERMINAL

# Build a new VM based on Definition						
veewee fusion build jasper-centos65-minimal
  • veewee
    • fusion (Provider)
    • build (Command)
    • jasper-centos65-minimal (Definition)

OK THAT’S NICE BUT…

WHAT ABOUT THE REST?

 The outcome is a VM image ready to use in Vagrant, can be imported in VMware Fusion and/or ESXi
 Will leave Chef and Deployment for another day.
Stay tuned!

Filed Under: Articles, DevOps Tagged With: devops

Changing the development culture at work

July 29, 2013 by Jorge Morales

I’m excited

I presented to all the CoralCEA’s team what I have been working on in my spare time for the last few weeks.

Devops methodologies

But first a little bit of background

On top of my development tasks I’m also in charge of deployments which includes Virtual Machines creation to support our architecture.

It is not a difficult task but it takes a good amount of time whenever something gets a considerable update.
For example: A Java update or a security bug.

The usual process is:

  • Download the ISO file of your favourite Linux Distribution
  • Use VMware Fusion to create a blank VM
  • Install the base OS
  • Install
    • Packages
    • Dependencies
  • Build
  • Pre-configure some key elements for the architecture

The down side, as discussed previously, takes a good chunk of time and it could be prone to errors.
It’s easy to forget a parameter or a specific piece of configuration or script.

Then the VM distribution propagates into all the pieces of our development cycle.

Some of the problems and some foreseeable consequences are:

  • A number of VM versions are used by Designers/QA
  • Are we all running the latest VM version?
  • What if something was missing? Re-iterate?
  • New requirements/configuration changes?
  • Slows
    • development
    • QA
    • Response time for bugs/fixes
  • Did somebody say UPDATES?
  • Not agile enough

In an interesting note my team thought that my chat was about some tools but that was just a little bit of the whole equation. The end of my presentation was to change our development culture optimizing our development process.

As for the VM creation what I presented was:

  • Do all of these programmatically
  • In a secure and consistent way

The VM creation was just the beginning of the changes chain I had been working on. The next part was about provisioning and environments. Using tools like Chef and Vagrant. What I demoed to the team was how I bootstrap a whole piece of our stack from scratch and I chose the most tedious one which happens to be also the one where it was easy to forget pieces of configuration.

I also show them the code behind all this configuration magic. Some of the ideas I touched were:

  • We can abstract our architecture and store it in our code repository
  • Where the differences between development and production environments are minimal and known
  • Free some of the team’s time and allowing us to:
    • Focus on new features/requirements
    • Solve issues/bugs
    • Focus more on Coral’s platform and less on all the hosting tasks
  • Optimizing human and computing resources

But it’s more than just the tools. Everyone in the organization has to get involved. It is not just about what the developers or the guys in operations do to find common ground. The idea is to help our organization to become more responsive to changes when they arise and streamline all the areas from development to production.

It was fun

It was fun to see the team attitude change from what they thought it was a meeting about tools to after the demos.
They look exited about what we could achieve in the following sprints. Even all our business wing was asking away about it.

The demos I covered were:

  • Veewee
    • Create VM templates on demand
  • Configure VMs/Servers and our stack on demand
  • Chef
    • Deploy desired Applications
    • Configure Applications
    • Grant dependencies
    • Run required services
  • Deployment
    • Deploy VMs on demand on ESXi/Fusion

About the end of the presentation we chatted about closing the gaps between Production/QA/Development.

 

I will try to post some tutorials on how we use these tools perhaps it will spark some ideas for your own process.

Filed Under: Articles, DevOps, Featured Tagged With: coralcea, devops

Startup Weekend Ottawa and Your Book Buddy

June 22, 2013 by Jorge Morales

Last May I participated in the Startup Weekend Ottawa. What a rush!

Picture this:

One venue (Thanks Shopify) full of Business minded people, Developers, Designers and Experienced Entrepreneurs with the purpose of starting something new. A company, an Idea or new friendships during the span of the weekend.

We started on Friday evening with some networking and ice breaker activities. Then it was pitching time!

Everyone who had an idea waited to take the stage and share it with the audience. After all the ideas were heard it was time to vote and choose the most popular ones.

The ideas with more votes assembled teams around them and then it was time to go prototype, design and validate the ideas.

Saturday passed very quickly for me. Coding and designing the interface for Your Book Buddy  took most of my time while interacting with the business side and trying to gather product validation from wherever possible.

Also on Saturday mentors and sponsors were around providing advice and scope to the projects. It’s then when you get a good feeling if your idea has wheels or if its time for a spin off.

Sunday arrived so fast and with it all the teams were getting ready for their presentations. The competition was hard as most of the teams had very good ideas and a working prototype up and running. We showed ours during the five minutes presentation.

After all the teams presented it was up to the judges to choose the winners.

Your Book Buddy

We offer a service of connecting children with their distant loved ones. We allow the adult and child to select a book and the adult can then read it to them online via online video chat. Both the adult and the child will be able to see the book and each other! This allows the adult to share an experience with a child that would otherwise only have been possible in person.

All our effort paid off and we scored second place. The honours were for team Vidrack (A site used to solicit client video testimonials).

Team Presentation

In a nutshell it was fun, it was worth it and yes I would do it again!

StartupWeekendOttawa3

Startup Weekend 3

Filed Under: Articles, Featured, Portfolio

  • « Previous Page
  • 1
  • 2
  • 3
  • 4
  • Next Page »

Recent Articles

  • Kano Computer for Kids based on Raspberry pi
  • Welcome Home App and Meteor part 2
  • Welcome Home App and Meteor
  • Are we alone in the universe?
  • A new car UI
I'm currently looking for new opportunities. Are you interested, let's chat!

Work with Jorge Now

Previous role

Project Lead at CoralCEA where I led the implementation on Coral platform and Coral's production systems.

 

I’m also in here…

  • Email
  • GitHub
  • LinkedIn
  • Twitter

Copyright © 2025 · Magneticore · My online Resume

Copyright © 2025 · Log in