StarlingX Integration and packaging
Go to file
Zhixiong Chi 54868df244 Reorder ceph shutdown to after containers
Problem:
On node shutdown, ceph is getting shut down while it is still in use by
the pods/containers. This leads to hangs which eventually leads to the
hostwd service timing out and triggering a reboot.

Solution:
The old dependencies are not suitable for the current version of ceph
because we are now using the containerd docker runtime instead of
docker service. Meanwhile the ceph init script uses systemd-run to
launch the systemd scopes for ceph components(ceph-mon|osd|mds).
The script generates transient systemd scope files with basic
configuration.

This update patches the ceph init script to generate systemd overrides
config files for the ceph components that provide improved ordering
during shutdown. This ordering ensures kubelet and containerd services
are shut down first, then the ceph scopes and service management (SM).
As a result the timeout of hostwd service isn't triggered and the
shutdown now works properly.

TestPlan:
PASS: build-pkgs
PASS: build-image
PASS: Jenkins installation
PASS: kubectl create -f ceph-fuse.yaml
PASS: After checking the pod is running with 'kubectl get pods',
      execute the command "sudo shutdown -hP now"
PASS: The shutdown works well without os reboot.

The yaml file is as follows:
$cat ceph-fuse.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: rwx-test-claim
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: cephfs
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: wrx-centos
  namespace: default
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  selector:
    matchLabels:
      run: centos
  template:
    metadata:
      labels:
        run: centos
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: run
                operator: In
                values:
                - centos
            topologyKey: kubernetes.io/hostname
      containers:
      - name: centos
        image: centos/tools
        imagePullPolicy: IfNotPresent
        command: [ "/bin/bash", "-c", "--" ]
        args: [ "while true; do dd if=/dev/zero of=/mnt1/aaa bs=1K count=100 && sleep 1; done;" ]
        volumeMounts:
        - name: pvc1
          mountPath: "/mnt1"
      restartPolicy: Always
      volumes:
      - name: pvc1
        persistentVolumeClaim:
          claimName: rwx-test-claim

Closes-Bug: 2011610

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Change-Id: I2c093c490ba177fbfc816e44dc227890270cac83
2023-03-14 17:13:52 +00:00
base Debian: haproxy: CVE-2023-0056,CVE-2023-25725 2023-03-09 15:42:06 +00:00
bmc/Redfishtool Add auto-versioning to starlingx/integ packages 2020-06-24 09:48:28 +08:00
centos-debian-compat Update integ debian package ver based on git 2023-03-01 18:53:50 +00:00
ceph/ceph Reorder ceph shutdown to after containers 2023-03-14 17:13:52 +00:00
config Merge "Update integ debian package ver based on git" 2023-03-08 19:51:39 +00:00
database Port stx-mariadb base image to stx-debian 2022-12-15 15:20:20 -03:00
devstack Relocated some packages to repo 'utilities' 2019-09-05 20:31:36 -04:00
doc Switch to newer openstackdocstheme and reno versions 2020-06-04 14:28:48 +02:00
docker/python-docker Update debian package versions to use git commits 2023-03-01 11:27:50 -05:00
filesystem debian: Create /drbd directory 2022-06-06 06:27:54 +00:00
golang-github-dev debian-pkg: Uprev cni plugins 2022-10-07 15:01:49 +00:00
gpu/gpu-operator Debian: Do not install gpu-operator into ISO 2022-09-21 14:25:50 +00:00
grub secure boot: move pub key to git repo 2023-02-14 01:03:04 -05:00
kubernetes chartmuseum: meta_data: remove explicit SRC_DIR 2023-03-10 15:35:46 -05:00
ldap Merge "Remove nslcd and related packages on Debian" 2022-08-26 19:06:05 +00:00
livepatch/kpatch/debian Update integ debian package ver based on git 2023-03-01 18:53:50 +00:00
logging/logrotate/centos Add auto-versioning to starlingx/integ packages 2020-06-24 09:48:28 +08:00
networking Update debian package revision counter 2023-02-22 16:04:18 -03:00
ostree Debian: upgrade ostree to 2022.2-1 2023-03-09 01:20:36 +00:00
python Update integ debian package ver based on git 2023-03-01 18:53:50 +00:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-06-04 14:28:48 +02:00
requests-toolbelt Add auto-versioning to starlingx/integ packages 2020-06-24 09:48:28 +08:00
security Merge "secure boot: move pub key to git repo" 2023-03-02 01:55:54 +00:00
storage-drivers Upgrade Trident to 22.07.0 version. 2022-10-19 08:22:41 -04:00
tools kdump-tools: disable AER to fix kdump hung issue 2022-12-17 08:38:58 +08:00
virt Update debian package versions to use git commits 2023-02-22 15:11:29 -03:00
.gitignore Add Docker Registry Token Server 2019-01-08 11:42:04 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:31 +00:00
.yamllint Add .yamllint file 2021-09-09 19:05:36 +03:00
.zuul.yaml Remove Legacy-resolver and changed constraints 2022-08-22 15:04:43 +00:00
CONTRIBUTORS.wrs StarlingX open source release updates 2018-05-31 07:36:35 -07:00
LICENSE StarlingX open source release updates 2018-05-31 07:36:35 -07:00
README.rst Followup opendev cleanup and test jobs 2019-04-21 09:23:19 -05:00
bindep.txt Fix pylint zuul jobs failing due to libvirt-python and pkgconfig 2019-07-04 14:14:39 -05:00
centos_build_layer.cfg Build layering, add layer build config file and srpm and tarball lst 2019-10-21 09:24:22 +08:00
centos_extra_downloads.lst Move mellanox userspace from integ repo 2020-05-06 19:58:38 -04:00
centos_guest_image.inc Subdirectory kernel relocated to new repo starlingx/kernel 2020-04-11 13:08:18 -04:00
centos_guest_image_rt.inc Subdirectory kernel relocated to new repo starlingx/kernel 2020-04-11 13:08:18 -04:00
centos_iso_image.inc Removing unused package python-ryu 2022-08-12 17:53:49 +00:00
centos_pkg_dirs Removing unused package python-ryu 2022-08-12 17:53:49 +00:00
centos_pkg_dirs_installer Config file changes for packages being relocated to repo 'compile' 2019-09-05 20:28:59 -04:00
centos_pkg_dirs_rt Move mellanox userspace from integ repo 2020-05-06 19:58:38 -04:00
centos_srpms_3rdparties.lst networking: Update keepalived from 1.3.5 to 2.1.5 2021-11-12 12:12:16 -05:00
centos_srpms_centos.lst CentOS: tzdata: upversion to 2022a 2022-07-12 14:01:21 -04:00
centos_stable_docker_images.inc Remove k8s-cni-sriov docker image 2022-06-07 21:52:00 -04:00
centos_stable_wheels.inc Add libvirt module to stable wheels for image build 2019-04-04 22:54:04 -04:00
centos_tarball-dl.lst Merge "Upgrade Trident to 22.07.0 version." 2022-10-19 17:43:53 +00:00
debian_build_layer.cfg Add debian_build_layer.cfg file 2021-10-05 14:08:19 -04:00
debian_iso_image.inc Merge "grub-efi: install grub-efi pkgs" 2023-03-02 01:55:26 +00:00
debian_pkg_dirs Merge "Debian: Add kubernetes 1.25.3 package" 2023-02-13 15:54:27 +00:00
debian_stable_docker_images.inc Create and build stx-ovs using Debian base image. 2023-01-06 18:33:32 +00:00
distroless_stable_docker_images.inc Remove k8s-plugin-sriov-network-device image 2022-08-31 14:03:22 -04:00
pylint.rc Updating the pylint tox target to reflect its targets 2021-11-04 10:22:24 -05:00
test-requirements.txt Add default test framework 2018-06-11 13:45:22 -05:00
tox.ini Update tox.ini to work with tox 4 2022-12-23 15:56:16 +00:00

README.rst

integ

StarlingX Integration