Skip to content
Snippets Groups Projects
Commit ed4dfd53 authored by Arie Peterson's avatar Arie Peterson
Browse files

Merge branch '923-upgrade-to-debian-bullseye' into 'master'

Resolve "Upgrade to debian bullseye"

Closes #860 and #923

See merge request openappstack/openappstack!488
parents 43949791 9d9f43ca
Branches
Tags
No related merge requests found
......@@ -7,7 +7,7 @@ set -ve
echo "Deleting old machine"
python3 -c "import greenhost_cloud; greenhost_cloud.terminate_droplets_by_name(\"^${HOSTNAME}$\")"
echo "Creating new machine"
# Uses a custom disk image built with 386e3614 on 2021-07-08. See
# Uses a custom disk image built with 42aa12b on 2021-09-14. See
# CONTRIBUTING.md#ci-pipeline-image for more info.
python3 -m openappstack $HOSTNAME create \
--create-droplet $DOMAIN \
......@@ -15,7 +15,7 @@ python3 -m openappstack $HOSTNAME create \
--ssh-key-id $SSH_KEY_ID \
--create-domain-records \
--subdomain $SUBDOMAIN \
--disk-image-id '-8115' \
--disk-image-id '-8751' \
--truncate-subdomain \
--docker-mirror-server="${CI_DEPENDENCY_PROXY_SERVER}" \
--docker-mirror-endpoint="${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}" \
......
......@@ -79,9 +79,9 @@ use it. This is a manual process for now. Follow these steps:
1. Create a new VPS
2. Run the following to install *only kubernetes* on the VPS:
```
$ python3 -m openappstack <cluster> install --install-kubernetes --no-install-openappstack
$ python3 -m openappstack <cluster> install
```
3. Log into your machine and clean up the k3s server, then delete the cluster
3. Log into your machine and clean up the k3s server, then delete the cluster
data:
```
# Clean up running containers and firewall
......@@ -96,7 +96,7 @@ use it. This is a manual process for now. Follow these steps:
2. Set VPS to `-- not assigned --`
3. Click 'make template'
4. Choose "Linux Latest LTS" as the kernel
5. Choose OS type Debian 10
5. Choose OS type Debian 11 (bullseye)
6. Remember the disk image ID that you can see in the current URL as `id=...`
7. Click save
6. Change the `--disk-image-id` argument in `.gitlab/ci_scripts/create_vps.sh`
......
......@@ -47,12 +47,43 @@
with_items:
- python3-pip
# We work around a Debian Bullseye issue with installing snaps on Xen nodes:
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983357 (Debian link)
# https://code.greenhost.net/greenhost/sysops/-/issues/915#note_108038 (GH # internal link)
# Once the debian issue is solved and Greenhost has patched the kernel, these
# three workaround commands can be removed.
- name: Workaround debian bug 1/3
shell: "journalctl -k | awk '/input: Xen Virtual Keyboard/ {print $11}'"
args:
# Only run this if kubectl snap has not been installed yet
creates: /snap/bin/kubectl
register: kbd_device
failed_when: false
changed_when: false
- name: Workaround debian bug 2/3
# kubectl needs to get installed as "classic" snap
mount:
opts: bind
src: /dev/zero
path: /sys/{{ kbd_device.stdout }}/uevent
fstype: none
state: mounted
when: kbd_device.stdout != "" and kbd_device.stdout != "skipped, since /snap/bin/kubectl exists"
- name: Install kubectl snap
# kubectl needs to get installed as "classic" snap
command: snap install --classic kubectl
args:
creates: /snap/bin/kubectl
- name: Workaround debian bug 3/3
# kubectl needs to get installed as "classic" snap
mount:
path: /sys/{{ kbd_device.stdout }}/uevent
state: unmounted
when: kbd_device.stdout != "" and kbd_device.stdout != "skipped, since /snap/bin/kubectl exists"
- name: Create kubectl symlink to /usr/local/bin
file:
state: link
......
......@@ -18,7 +18,7 @@ Prerequisites
During these instructions, you are asked to create a VPS, or have a
bare metal server ready. The server should meet these requirements:
- Debian "buster" installed
- Debian 11 (bullseye) installed
- A public IP address
- The ability to create DNS records for this IP
- 6 cores and 12 GB of RAM
......
......@@ -5,22 +5,22 @@ Installation overview
=====================
.. warning::
- OpenAppStack is still under heavy development and is not ready for
- OpenAppStack is still under heavy development and is not ready for
production use! We anticipate major changes and do not guarantee a
data-preserving upgrade path from current installations. However, we
encourage you to try OpenAppStack and ask you to `report all issues
you encounter <https://openappstack.net/contact.html>`__.
- When you install OpenAppStack on a server, the installation process
- When you install OpenAppStack on a server, the installation process
will make some substantial changes to the server's configuration, so
please do not use a server that functions as anything other than a
testing ground.
.. note::
You should also have a trusted machine to run the installer on, i.e. your
laptop. We call this the ``provisioning machine``.
All commands in these installation instructions need to be
run this provisioning machine that is *not* the server that will run
OpenAppStack, unless specified otherwise.
.. note::
You should also have a trusted machine to run the installer on, i.e. your
laptop. We call this the ``provisioning machine``.
All commands in these installation instructions need to be
run this provisioning machine that is *not* the server that will run
OpenAppStack, unless specified otherwise.
Setup
=====
......
......@@ -35,8 +35,8 @@ DEFAULT_REGION = 'ams1'
DEFAULT_DISK_SIZE_GB = 30
"""Default amount of memory"""
DEFAULT_MEMORY_SIZE_MB = 12288
"""Default "image" (operating system): 19 = Debian buster-x64 """
DEFAULT_IMAGE = 19
"""Default "image" (operating system): 26 = Debian bullseye-x64 """
DEFAULT_IMAGE = 26
class Cluster:
......
......@@ -6,5 +6,5 @@ import pprint
@pytest.mark.testinfra
def test_os_release(host):
system_info = host.system_info
assert system_info.release == '10'
assert system_info.release == '11'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment