From 8de6c766b55ed166d9ba95b5dfc07005341ede58 Mon Sep 17 00:00:00 2001 From: Adar Nimrod <nimrod@shore.co.il> Date: Fri, 1 Jan 2016 21:55:21 +0200 Subject: [PATCH] Debian Stretch enables Systemd's predictable network interface names and Vagrant doesn't handle it properly (yet). Added a small manual workaround for the time being. --- Vagrantfile | 11 +++++++---- files/kodi/enp0s8.network | 5 +++++ files/nspawn/enp0s8.network | 5 +++++ networkd.yml | 37 +++++++++++++++++++++++++++++++++++++ site.yml | 5 +++++ 5 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 files/kodi/enp0s8.network create mode 100644 files/nspawn/enp0s8.network create mode 100644 networkd.yml diff --git a/Vagrantfile b/Vagrantfile index 56a29cd..1bbe216 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -25,8 +25,10 @@ Vagrant.configure(2) do |config| end config.vm.define "kodi" do |kodi| - kodi.vm.hostname = "kodi.Ansible.vagrant" - kodi.vm.box = "remram/debian-9-amd64" + #kodi.vm.hostname = "kodi.Ansible.vagrant" + kodi.vm.box = "fujimakishouten/debian-stretch64" + kodi.vm.network "private_network", auto_config: false, ip: "172.28.128.4" + kodi.landrush.host_ip_address = "172.28.128.4" # TODO: Find the correct syntax for a single command. #kodi.vm.provider("virtualbox"), gui: true kodi.vm.provider "virtualbox" do |vb| @@ -35,9 +37,10 @@ Vagrant.configure(2) do |config| end config.vm.define "nspawn" do |nspawn| - nspawn.vm.hostname = "nspawn.Ansible.vagrant" + #nspawn.vm.hostname = "nspawn.Ansible.vagrant" nspawn.vm.box = "fujimakishouten/debian-stretch64" - #nspawn.vm.box = "remram/debian-9-amd64" + nspawn.vm.network "private_network", auto_config: false, ip: "172.28.128.5" + nspawn.landrush.host_ip_address = "172.28.128.5" end config.vm.define "gitolite" do |gitolite| diff --git a/files/kodi/enp0s8.network b/files/kodi/enp0s8.network new file mode 100644 index 0000000..e541422 --- /dev/null +++ b/files/kodi/enp0s8.network @@ -0,0 +1,5 @@ +[Match] +Name=enp0s8 + +[Network] +Address=172.28.128.4/24 diff --git a/files/nspawn/enp0s8.network b/files/nspawn/enp0s8.network new file mode 100644 index 0000000..067e1a9 --- /dev/null +++ b/files/nspawn/enp0s8.network @@ -0,0 +1,5 @@ +[Match] +Name=enp0s8 + +[Network] +Address=172.28.128.5/24 diff --git a/networkd.yml b/networkd.yml new file mode 100644 index 0000000..d495845 --- /dev/null +++ b/networkd.yml @@ -0,0 +1,37 @@ +--- +# Bootstrap a Vagrant box with predictable network interface names. + +- hosts: + - all + tasks: + - name: Set hostname + hostname: + name: '{{ inventory_hostname }}.Ansible.vagrant' + + - name: Configure network interfaces + with_fileglob: + - 'files/{{ inventory_hostname }}/*.netdev' + - 'files/{{ inventory_hostname }}/*.network' + - 'files/{{ inventory_hostname }}/*.link' + copy: + src: '{{ item }}' + dest: '/etc/systemd/network/{{ item|basename }}' + owner: root + group: root + mode: '0644' + + - name: Disable ifupdown, enable networkd + with_items: + - name: systemd-resolved + state: started + enabled: yes + - name: systemd-networkd + state: started + enabled: yes + - name: networking + state: started + enabled: no + service: + name: '{{ item.name }}' + state: '{{ item.state }}' + enabled: '{{ item.enabled }}' diff --git a/site.yml b/site.yml index 825268d..0586326 100644 --- a/site.yml +++ b/site.yml @@ -1,4 +1,9 @@ --- +- hosts: + - nspawn + - kodi + include: networkd.yml + - hosts: - all gather_facts: False -- GitLab