A successor of

This project was already rolling before hackweek: https://github.com/viccuad/ansible-configs.

Right now it has a working testing setup using vagrant-libvirt that simulates home lan and wifi by switches, raid 10 of 4 disks on the NAS, router working with Freedombox (Debian pure-blend).

I plan to automate as much as possible the desktop plays, add to the router until it's a full fledged one, add roles for cockpit, borgbackup, and whatever I can think of.

It would be cool to add wifi simulation to the libvirt deployment using mac80211_hwsim or something similar.

This project is part of:

Hack Week 16 Hack Week 17

Activity

  • over 6 years ago: TBro liked this project.
  • about 7 years ago: vcuadradojuan liked this project.
  • about 7 years ago: vcuadradojuan added keyword "libvirt" to this project.
  • about 7 years ago: vcuadradojuan added keyword "debian" to this project.
  • about 7 years ago: vcuadradojuan added keyword "freedombox" to this project.
  • about 7 years ago: vcuadradojuan added keyword "infra" to this project.
  • about 7 years ago: vcuadradojuan added keyword "router" to this project.
  • about 7 years ago: vcuadradojuan added keyword "nas" to this project.
  • about 7 years ago: vcuadradojuan added keyword "desktop" to this project.
  • about 7 years ago: vcuadradojuan added keyword "laptop" to this project.
  • about 7 years ago: vcuadradojuan added keyword "htpc" to this project.
  • about 7 years ago: vcuadradojuan added keyword "offlinepc" to this project.
  • about 7 years ago: vcuadradojuan added keyword "ansible" to this project.
  • about 7 years ago: vcuadradojuan added keyword "vagrant" to this project.
  • about 7 years ago: vcuadradojuan started this project.
  • about 7 years ago: vcuadradojuan originated this project.

  • Comments

    • joachimwerner
      about 7 years ago by joachimwerner | Reply

      I’d be really interested in your take-aways about how Salt and Ansible compare. I guess you are aware that Salt is the preferred choice for configuration management and automation at SUSE, but we are always open to suggestions on how to improve things.

      • vcuadradojuan
        about 7 years ago by vcuadradojuan | Reply

        > I guess you are aware that Salt is the preferred choice for configuration > management and automation at SUSE, but we are always open to suggestions on how > to improve things.

        Yes, I'm aware that Salt is the preferred choice for SUSE. Sadly, for my day to day work at SUSE I need Ansible (and hence this hackweek project as practice); I'll happily provide you more information outside of a public forum if you desire.

        > I’d be really interested in your take-aways about how Salt and Ansible compare.

        As you can see by the predecessor, salt-configs, listed in the description, I tried to achieve the same project half a year ago in Salt. In that repo there's an incomplete list of hiccups at TODO.org.

        These include a list of bugs about mainly copying files maintaining their attributes, copying soft symlinks, appending to files with utf8 and being able to do pillar['var'] in pillar files. I remember working around other distinct bugs prior to start collecting the in the TODO.org file, so maybe perusing the code for TODOs and comment workarounds would be a good idea.

        Some of these bugs have already been closed in the latest Salt version, but since Salt has a server-client architecture, I will need to backport those new versions to the several OSes that I target and write the Salt states with conditionals in case that is not possible; this is outside of my desire for a personal project as this one.

        Another solution would be to use salt-ssh; which I tried and found that it didn't implement the whole functionality of Salt, particularly gitfs, needed for using community salt-formulas, which are a big productivity multiplier (At the docs, grep for "However, needed fileserver wrappers are still under development.". I haven't found more documentation than that on this topic).

        I could also use salt-call and run the states locally on the minions, but I also discarded that approach for security reasons: I didn't want to have all salt states, pillars and secrets present in all machines. One can think of possible workarounds for checking out salt configs, but it was also outside of my desire for a personal project.

        The folks in #salt @freenode where really nice, and I look forward to use Salt for my personal projects in the future. Please don't hesitate to come by my office if you are interested further.

    • vcuadradojuan
      about 7 years ago by vcuadradojuan | Reply

      In 4 half-days I was able to:
      - Created repo https://github.com/viccuad/vagrant-libvirt-ansible-example.
        Contains a production/testing environment example for ansible
      - Contribute to ansible-configs
        https://github.com/viccuad/ansible-configs/graphs/contributors?from=2017-11-10&to=2017-11-16&type=c
        35 commits, mainly achieving:
        * Add cockpit, unattended, themes, flatpak, server, desktop, icons, games roles
        * Migrate to roles of roles for desktop and server
        * Make freedombox installation idempotent
        * Reboot freedombox and wait for host to come back on installation
        * Make pcengines kernel tasks idempotent
        * Add firewalld configs for every thing networked on every role
        * Update dotfiles: .spacemacs, weechat, neovim, debian
      - Migrate fully to matrix.org and weechat plugin, ditch IRC. See:
        https://github.com/viccuad/ansible-configs/commit/3d11de899a29df3c9026b18798eb736610a3a36e
      

      • vcuadradojuan
        over 6 years ago by vcuadradojuan | Reply

        In this week I was able to:

        https://gitlab.com/viccuad/ansible-configs/commits/master
        Write ~50 commits, made a lot of stuff idempotent, changed CI, added
        new roles
        

    Similar Projects

    Ansible for add-on management by lmanfredi

    Description

    Machines can contains various combinations of add-ons and are often modified during the time.

    The list of repos can change so I would like to create an automation able to reset the status to a given state, based on metadata available for these machines

    Goals

    Create an Ansible automation able to take care of add-on (repo list) configuration using metadata as reference

    Resources

    Results

    Created WIP project Ansible-add-on-openSUSE


    Contribute to terraform-provider-libvirt by pinvernizzi

    Description

    The SUSE Manager (SUMA) teams' main tool for infrastructure automation, Sumaform, largely relies on terraform-provider-libvirt. That provider is also widely used by other teams, both inside and outside SUSE.

    It would be good to help the maintainers of this project and give back to the community around it, after all the amazing work that has been already done.

    If you're interested in any of infrastructure automation, Terraform, virtualization, tooling development, Go (...) it is also a good chance to learn a bit about them all by putting your hands on an interesting, real-use-case and complex project.

    Goals

    • Get more familiar with Terraform provider development and libvirt bindings in Go
    • Solve some issues and/or implement some features
    • Get in touch with the community around the project

    Resources