summaryrefslogtreecommitdiff
path: root/roles/install-cloud-init
diff options
context:
space:
mode:
Diffstat (limited to 'roles/install-cloud-init')
-rw-r--r--roles/install-cloud-init/files/debian.list.buster7
-rw-r--r--roles/install-cloud-init/files/debian.list.jessie (renamed from roles/install-cloud-init/files/debian.list)3
-rw-r--r--roles/install-cloud-init/files/hyper-v.cfg1
-rw-r--r--roles/install-cloud-init/files/qemu.cfg1
-rw-r--r--roles/install-cloud-init/files/resolv.conf1
-rw-r--r--roles/install-cloud-init/files/vmware.cfg1
-rw-r--r--roles/install-cloud-init/tasks/main.yml33
-rw-r--r--roles/install-cloud-init/templates/90_dpkg.cfg.j21
8 files changed, 40 insertions, 8 deletions
diff --git a/roles/install-cloud-init/files/debian.list.buster b/roles/install-cloud-init/files/debian.list.buster
new file mode 100644
index 0000000..fd5a770
--- /dev/null
+++ b/roles/install-cloud-init/files/debian.list.buster
@@ -0,0 +1,7 @@
+deb http://deb.debian.org/debian buster main contrib non-free
+deb-src http://deb.debian.org/debian buster main contrib non-free
+deb http://security.debian.org/debian-security/ buster/updates main contrib non-free
+deb-src http://security.debian.org/debian-security/ buster/updates main contrib non-free
+deb http://deb.debian.org/debian buster-updates main contrib non-free
+deb-src http://deb.debian.org/debian buster-updates main contrib non-free
+deb http://dev.packages.vyos.net/repositories/current current main
diff --git a/roles/install-cloud-init/files/debian.list b/roles/install-cloud-init/files/debian.list.jessie
index f657759..0750699 100644
--- a/roles/install-cloud-init/files/debian.list
+++ b/roles/install-cloud-init/files/debian.list.jessie
@@ -4,4 +4,5 @@ deb http://security.debian.org/debian-security/ jessie/updates main contrib non-
deb-src http://security.debian.org/debian-security/ jessie/updates main contrib non-free
deb http://deb.debian.org/debian jessie-updates main contrib non-free
deb-src http://deb.debian.org/debian jessie-updates main contrib non-free
-deb http://deb.debian.org/debian jessie-backports main
+deb http://dev.packages.vyos.net/repositories/crux/vyos crux main
+deb http://dev.packages.vyos.net/repositories/crux/debian crux main
diff --git a/roles/install-cloud-init/files/hyper-v.cfg b/roles/install-cloud-init/files/hyper-v.cfg
deleted file mode 100644
index f66d7c0..0000000
--- a/roles/install-cloud-init/files/hyper-v.cfg
+++ /dev/null
@@ -1 +0,0 @@
-datasource_list: [ NoCloud, ConfigDrive, None ]
diff --git a/roles/install-cloud-init/files/qemu.cfg b/roles/install-cloud-init/files/qemu.cfg
deleted file mode 100644
index f66d7c0..0000000
--- a/roles/install-cloud-init/files/qemu.cfg
+++ /dev/null
@@ -1 +0,0 @@
-datasource_list: [ NoCloud, ConfigDrive, None ]
diff --git a/roles/install-cloud-init/files/resolv.conf b/roles/install-cloud-init/files/resolv.conf
new file mode 100644
index 0000000..81027f8
--- /dev/null
+++ b/roles/install-cloud-init/files/resolv.conf
@@ -0,0 +1 @@
+nameserver 1.1.1.1 \ No newline at end of file
diff --git a/roles/install-cloud-init/files/vmware.cfg b/roles/install-cloud-init/files/vmware.cfg
deleted file mode 100644
index 76a5efd..0000000
--- a/roles/install-cloud-init/files/vmware.cfg
+++ /dev/null
@@ -1 +0,0 @@
-datasource_list: [ NoCloud, ConfigDrive, OVF, None ]
diff --git a/roles/install-cloud-init/tasks/main.yml b/roles/install-cloud-init/tasks/main.yml
index c9d5d07..d894750 100644
--- a/roles/install-cloud-init/tasks/main.yml
+++ b/roles/install-cloud-init/tasks/main.yml
@@ -1,17 +1,36 @@
+- name: Get Debian version
+ become: true
+ command: chroot {{ vyos_install_root }} awk 'match($0, /VERSION=.*\((\w+)\)/, version) { print version[1] }' /etc/os-release
+ register: debian_version
+- name: Set VyOS branch name crux
+ set_fact:
+ vyos_branch: "crux"
+ when: vyos_version is regex("^1\.2.*$")
- name: Put debian.list
become: true
copy:
- src: files/debian.list
+ src: "files/debian.list.{{ debian_version.stdout }}"
dest: "{{ vyos_install_root }}/etc/apt/sources.list.d/debian.list"
+- name: backup resolv.conf
+ become: true
+ command: mv {{ vyos_install_root }}/etc/resolv.conf /tmp/resolv.conf
+- name: add nameserver settings to chroot
+ become: true
+ copy:
+ src: "files/resolv.conf"
+ dest: "{{ vyos_install_root }}/etc/resolv.conf"
- name: apt-get update
become: true
command: chroot {{ vyos_install_root }} apt-get update
- name: Install cloud-init
become: true
- command: chroot {{ vyos_install_root }} apt-get install -y cloud-init cloud-utils
+ command: chroot {{ vyos_install_root }} apt-get -t {{ vyos_branch | default('current') }} install -y cloud-init cloud-utils
- name: apt-get clean
become: true
command: chroot {{ vyos_install_root }} apt-get clean
+- name: delete apt lists from cache
+ become: true
+ command: chroot {{ vyos_install_root }} rm -rf /var/lib/apt/lists/*
- name: Delete debian.list
become: true
file:
@@ -25,9 +44,15 @@
mode: 0755
- name: Put datasource_list.cfg
become: true
- copy:
- src: "files/{{ vyos_platform | lower }}.cfg"
+ template:
+ src: 90_dpkg.cfg.j2
dest: "{{ vyos_install_root }}/etc/cloud/cloud.cfg.d/90_dpkg.cfg"
- name: run dpkg-reconfigure cloud-init
become: true
command: chroot {{ vyos_install_root }} dpkg-reconfigure -f noninteractive cloud-init
+- name: restore original resolv.conf
+ become: true
+ command: mv /tmp/resolv.conf {{ vyos_install_root }}/etc/resolv.conf
+- name: change /etc/network/interfaces to include config from Cloud-Init
+ become: true
+ command: chroot {{ vyos_install_root }} sed -i 's/source-directory \/etc\/network\/interfaces.d/source \/etc\/network\/interfaces.d\/*/g' /etc/network/interfaces
diff --git a/roles/install-cloud-init/templates/90_dpkg.cfg.j2 b/roles/install-cloud-init/templates/90_dpkg.cfg.j2
new file mode 100644
index 0000000..69d2461
--- /dev/null
+++ b/roles/install-cloud-init/templates/90_dpkg.cfg.j2
@@ -0,0 +1 @@
+datasource_list: [ {{ cloud_init_ds_list|join(', ') }} ]