Giter Site home page Giter Site logo

ansible-role-ubuntu_autoinstall's Introduction

Ansible Role: Ubuntu Autoinstall

This role will:

  • Download and verify (GPG and SHA256) the newest Ubuntu Server 20.04 ISO
  • Unpack the ISO and integrate the user-data file for semi-automated installation
  • Repack the ISO and (optionally) upload it to PiKVM for futher installation

Special thanks to:

Example playbook:

---
- hosts: all
  gather_facts: yes
  become: no

  roles:
    - role: notthebee.ubuntu_autoinstall

Variables

  • boot_drive_serial – the serial number of the drive where you want to install Ubuntu. You can find it out using ls /dev/disk/by-id. Make sure to omit the interface (e.g. ata- or scsi-).
  • iso_arch – Architecture of the output ISO file. amd64 and arm64 are supported

Other variables are more or less self-explanatory and can be found in defaults/main.yml

ansible-role-ubuntu_autoinstall's People

Contributors

bamx23 avatar notthebee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ansible-role-ubuntu_autoinstall's Issues

Roles Directory

Thanks for getting me started with this. However I think you were meaning to include a roles directory in this repo with notthebee.ubuntu_autoinstall in it.

Use HTTPS for pikvm API calls, use dirmngr in daemon mode and more

Hey, not sure if you expect issues/contributions to this repo, feel free to close this if not!

I had to do a couple of tweaks to get this role running successfully with my setup:

  1. If dirmngr was not running, the playbook gets stuck indefinitely. Needed to start dirmngr in daemon mode.
  2. API calls to pikvm were with http, I guess the default is https. Had to switch all calls to use https with cert verification skipped. Also, seems like the MSD write API expects the image name to be a query param instead of a form key-value.
  3. The generated ISO path had the iso_arch appended to it, but not referenced correctly in the upload task.

I have these changes over at my fork here: main...shikharbhardwaj:main

Thanks for doing the work here, this role and the infra playbook is super helpful.

boot_drive_serial

boot_drive_serial is used in Templates/user-data.j2 but never defined in defaults.

ISO Hard to Access Without PiKVM

I ran your role on OS X without a PiKVM and had trouble uploading it to my hypervisor.

  1. The role doesn't display the final location and name of the ISO so need to figure that out.
  2. The ~/.local directory is unaccessible when I was trying to do a file upload through the browser. Had to move it to another directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.