aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2019-06-28 15:52:22 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2019-06-29 00:37:14 +0200
commit248b456255f831b27e458e2cd8bd0f449be11434 (patch)
treeaf2bfc3b83cf8eb534afd605af0bb51670c247d6
parent5440500624a503b3f91852cd17089aab76afe806 (diff)
[virtual] Add Ubuntu 18.04 (Bionic) basic support
Support Ubuntu 18.04 for virtual deployments (and implicitly for VCP VMs). Note that MaaS-provisioned systems will require the same changes being applied via curtin templates. Change-Id: I7cbd7e7c4421f6b970ce6ef97c10d269fec5fca3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-rw-r--r--mcp/config/scenario/defaults.yaml.j240
-rw-r--r--mcp/scripts/lib_jump_deploy.sh18
-rw-r--r--mcp/scripts/user-data.sh.j25
3 files changed, 63 insertions, 0 deletions
diff --git a/mcp/config/scenario/defaults.yaml.j2 b/mcp/config/scenario/defaults.yaml.j2
index 5a9b4fd80..8864974ec 100644
--- a/mcp/config/scenario/defaults.yaml.j2
+++ b/mcp/config/scenario/defaults.yaml.j2
@@ -22,6 +22,26 @@ x86_64:
- virtual_control_plane
{%- endif %}
{%- endif %}
+ ubuntu1804:
+ base_image: https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
+ common:
+ repo:
+ keys:
+ - https://repo.saltstack.com/apt/ubuntu/18.04/amd64/2017.7/SALTSTACK-GPG-KEY.pub
+ repos:
+ # <repo name> <repo prio> deb [arch=<arch>] <repo url> <repo dist> <repo comp>
+ - saltstack 500 deb [arch=amd64] http://repo.saltstack.com/apt/ubuntu/18.04/amd64/2017.7 bionic main
+ pkg:
+ install:
+ - salt-minion
+ - ifupdown
+ - cloud-init
+ - dnsmasq
+ control:
+ repo: ~
+ pkg:
+ install:
+ - cloud-init
ubuntu1604:
base_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
common:
@@ -64,6 +84,26 @@ aarch64:
vcpus: 6
ram: 4096
cluster: *arch_default_cluster_states
+ ubuntu1804:
+ base_image: https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-arm64.img
+ common:
+ repo:
+ keys:
+ - https://repo.saltstack.com/apt/ubuntu/18.04/amd64/2017.7/SALTSTACK-GPG-KEY.pub
+ repos:
+ # <repo name> <repo prio> deb [arch=<arch>] <repo url> <repo dist> <repo comp>
+ - saltstack 500 deb [arch=amd64] http://repo.saltstack.com/apt/ubuntu/18.04/amd64/2017.7 bionic main
+ pkg:
+ install:
+ - salt-minion
+ - ifupdown
+ - cloud-init
+ - dnsmasq
+ control:
+ repo: ~
+ pkg:
+ install:
+ - cloud-init
ubuntu1604:
base_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img
common:
diff --git a/mcp/scripts/lib_jump_deploy.sh b/mcp/scripts/lib_jump_deploy.sh
index 937071001..d3ccd6e69 100644
--- a/mcp/scripts/lib_jump_deploy.sh
+++ b/mcp/scripts/lib_jump_deploy.sh
@@ -152,6 +152,24 @@ function __mount_image {
sudo mount -t proc proc "${OPNFV_MNT_DIR}/proc"
sudo mount -t sysfs sys "${OPNFV_MNT_DIR}/sys"
sudo mount -o bind /dev "${OPNFV_MNT_DIR}/dev"
+ if [[ "${MCP_OS:-}" =~ ubuntu1804 ]]; then
+ # Ubuntu Bionic (18.04) or newer defaults to using netplan.io, revert it
+ sudo mkdir -p "${OPNFV_MNT_DIR}/run/systemd/resolve"
+ sudo cp -f --remove-destination /etc/resolv.conf \
+ "${OPNFV_MNT_DIR}/run/systemd/resolve/stub-resolv.conf"
+ sudo chroot "${OPNFV_MNT_DIR}" systemctl stop \
+ systemd-networkd.socket systemd-networkd \
+ networkd-dispatcher systemd-networkd-wait-online systemd-resolved
+ sudo chroot "${OPNFV_MNT_DIR}" systemctl disable \
+ systemd-networkd.socket systemd-networkd \
+ networkd-dispatcher systemd-networkd-wait-online systemd-resolved
+ sudo chroot "${OPNFV_MNT_DIR}" systemctl mask \
+ systemd-networkd.socket systemd-networkd \
+ networkd-dispatcher systemd-networkd-wait-online systemd-resolved
+ sudo chroot "${OPNFV_MNT_DIR}" apt --assume-yes purge nplan netplan.io
+ echo "source /etc/network/interfaces.d/*" | \
+ sudo tee "${OPNFV_MNT_DIR}/etc/network/interfaces"
+ fi
sudo cp -f --remove-destination \
/etc/resolv.conf "${OPNFV_MNT_DIR}/etc/resolv.conf"
echo "GRUB_DISABLE_OS_PROBER=true" | \
diff --git a/mcp/scripts/user-data.sh.j2 b/mcp/scripts/user-data.sh.j2
index f568164c1..8b80e32d0 100644
--- a/mcp/scripts/user-data.sh.j2
+++ b/mcp/scripts/user-data.sh.j2
@@ -11,5 +11,10 @@ rm -f /etc/salt/minion_id /etc/salt/pki/minion/minion_master.pub
echo "id: $(hostname).{{ conf.cluster.domain }}" > /etc/salt/minion
echo "master: {{ nm.net_admin | ipnet_hostaddr(nm.start_ip[nm.net_admin] + nm.net_admin_hosts.index('opnfv_infra_config_pxe_admin_address') +1) }}" >> /etc/salt/minion
ldconfig
+{%- if 'ubuntu1804' in conf.MCP_OS %}
+systemctl unmask networking.service || true
+systemctl enable networking.service || true
+systemctl start networking.service || true
+{%- endif %}
systemctl enable salt-minion.service
systemctl restart salt-minion.service