Шаги ==== 1. # podsec-create-policy <ip> 2. # podsec-create-services 3. # podsec-create-imagemakeruser imagemaker 4. # podsec-create-podmanusers poduser 5. # ssh imagemaker@localhost 6. imagemaker$ U7S_KUBEVERSION=v1.28.7 podsec-k8s-save-oci out amd64 k8s-sisyphus Фактический результат ===================== Скрипт пытается удалить неверный пакет 'kubernetes.28-kubeadm": > imagemaker$ U7S_KUBEVERSION=v1.28.7 podsec-k8s-save-oci out amd64 k8s-sisyphus > Предупреждение: команда kubeadm версии 1.28.8 уже установлена > Предупреждение: команда crio версии 1.28.4 уже установлена > Версия v1.28.7 crio совпадает с устанавливаемой > Удаление пакетов kubernetes.28-kubeadm > Установка пакетов kubernetes1.28-kubeadm kubernetes1.28-kubelet kubernetes1.28-crio cri-tools1.28 > ... Ожидаемый результат =================== Успешная сборка архива с образами. Воспроизводимость ================= Воспроизводится на виртуальной машине: [sisyphus] ALT Server 10.2 x86_64 podsec-1.0.10-alt6.noarch kubernetes1.28-kubeadm-1.28.8-alt1.x86_64 kubernetes1.28-kubelet-1.28.8-alt1.x86_64 kubernetes1.28-crio-1.28.8-alt1.noarch cri-tools1.28-1.28.0-alt1.x86_64 В p10 проверяемого функционала ещё нет.
Если пакетов несколько, неправильная обрезка происходит, похоже, только у первого или только у kubeadm: > Удаление пакетов kubernetes.28-kubeadm kubernetes1.28-crio cri-o1.28 cri-tools1.28
А что в c10f1 уже kubernetes1.28-kubeadm-1.28.8 ? У меня 1.26 Можно вывести результат @kubernetes1.28-kubeadm-1.28.8@ ? Ставить пока 1.28 смысла нет, так как нет образов 1.28 для c10f1
Виноват - не обратил внимание, что это sisyphus (Ответ для Artem Varaksa на комментарий #0) > Шаги > ==== > > 1. # podsec-create-policy <ip> > 2. # podsec-create-services > 3. # podsec-create-imagemakeruser imagemaker > 4. # podsec-create-podmanusers poduser > 5. # ssh imagemaker@localhost > 6. imagemaker$ U7S_KUBEVERSION=v1.28.7 podsec-k8s-save-oci out amd64 > k8s-sisyphus > > Фактический результат > ===================== > > Скрипт пытается удалить неверный пакет 'kubernetes.28-kubeadm": > Вопрос - а почему неверный? U7S_KUBEVERSION=v1.28.7 задает не patch-версию kubeadm, а patch-верию kubernetes-образов kube-apuserver:xxxx kube-proxy:xxx patch-версия kubeadm "прибита" в пакете kubernetes1.28-kubeadm-1.28.x Насколько я понимаю, если у нас есть пакет kubernetes1.28-kubeadm-1.28.7 и появляется пакет kubernetes1.28-kubeadm-1.28.8 то в RPM-репозитории - удаляется kubernetes1.28-kubeadm-1.28.7 - добавляется kubernetes1.28-kubeadm-1.28.8 То-есть в рамках минорной версии 1.28 может быть только одна patch-версия kubernetes1.28-kubeadm-1.28.x И в данной ситуации мне надо понять: какая patch-версия kubeadm уже была установлена при установке podsec-k8s. Как правило по зависимости Requires: kubernetes-kubeadm ставится последняя доступная на момент установки podsec-k8s максимальная версия kubeadm Какой пакет kubeadm установлен rpm -qa | grep kubeadm ? Какой доступный пакет kubeadm в repo apt-get update apt-cache show kubernetes1.28-kubeadm | grep Version Если patch-версии kubeadm запрошенного, установленного и доступного в RPM-repo не совпадают, то есть смысл установить последний свежий kubeadm Если данный сценарий не устраивает, о надо договориться о сценарии обновления kubeadm > > imagemaker$ U7S_KUBEVERSION=v1.28.7 podsec-k8s-save-oci out amd64 k8s-sisyphus > > Предупреждение: команда kubeadm версии 1.28.8 уже установлена > > Предупреждение: команда crio версии 1.28.4 уже установлена > > Версия v1.28.7 crio совпадает с устанавливаемой > > Удаление пакетов kubernetes.28-kubeadm > > Установка пакетов kubernetes1.28-kubeadm kubernetes1.28-kubelet kubernetes1.28-crio cri-tools1.28 > > ... > > Ожидаемый результат > =================== > > Успешная сборка архива с образами. Из сообщения непонятно - сборка образов прошла успешно или нет? В тексте нет сообщение о неуспешной сборке. > > Воспроизводимость > ================= > > Воспроизводится на виртуальной машине: > > [sisyphus] ALT Server 10.2 x86_64 > podsec-1.0.10-alt6.noarch > kubernetes1.28-kubeadm-1.28.8-alt1.x86_64 > kubernetes1.28-kubelet-1.28.8-alt1.x86_64 > kubernetes1.28-crio-1.28.8-alt1.noarch > cri-tools1.28-1.28.0-alt1.x86_64 > > В p10 проверяемого функционала ещё нет.
В целом хотел отметить, что возможно логика удаления старых пакетов не столь необходима вообще, потому что при установке пакетов kubernetes другой версии уже установленные в системе пакеты kubernetes удаляются автоматически. То есть скрипт может просто ставить необходимые версии, а уже apt-get разберется с тем, какие пакеты нужно удалить. (Ответ для ALexey Kostarev на комментарий #3) > (Ответ для Artem Varaksa на комментарий #0) > > Скрипт пытается удалить неверный пакет 'kubernetes.28-kubeadm": > Вопрос - а почему неверный? Обрезается "1" в начале версии: Удаляется: kubernetes.28-kubeadm Должен удаляться: kubernetes1.28-kubeadm > Какой пакет kubeadm установлен > rpm -qa | grep kubeadm kubernetes1.28-kubeadm-1.28.8-alt1.x86_64 > Какой доступный пакет kubeadm в repo > apt-get update > apt-cache show kubernetes1.28-kubeadm | grep Version Version: 1.28.8-alt1:sisyphus+343074.100.1.1@1710862045 > Из сообщения непонятно - сборка образов прошла успешно или нет? > В тексте нет сообщение о неуспешной сборке. Нет, так как далее воспроизводятся ошибки: * https://bugzilla.altlinux.org/50042 (если использовать U7S_KUBEVERSION); * https://bugzilla.altlinux.org/50043 (если использовать U7S_SETAVAILABLEIMAGES).
(Ответ для Artem Varaksa на комментарий #4) > В целом хотел отметить, что возможно логика удаления старых пакетов не столь > необходима вообще, потому что при установке пакетов kubernetes другой версии > уже установленные в системе пакеты kubernetes удаляются автоматически. То > есть скрипт может просто ставить необходимые версии, а уже apt-get > разберется с тем, какие пакеты нужно удалить. Возможно - но я на момент программирования не стал рисковать Установка и удаление пакетов производится за один вызов apt-get inrall Удаляемые пакеты приведены с префиксом -, добавляемые (замещаемые) с префиксом + Только недавно узнал о такой возможности - решил проверить :-) С замечанием согласен Оттестирую и реализую в следующей версии alt7
(Ответ для Artem Varaksa на комментарий #4) > В целом хотел отметить, что возможно логика удаления старых пакетов не столь > необходима вообще, потому что при установке пакетов kubernetes другой версии > уже установленные в системе пакеты kubernetes удаляются автоматически. То > есть скрипт может просто ставить необходимые версии, а уже apt-get > разберется с тем, какие пакеты нужно удалить. > > (Ответ для ALexey Kostarev на комментарий #3) > > (Ответ для Artem Varaksa на комментарий #0) > > > Скрипт пытается удалить неверный пакет 'kubernetes.28-kubeadm": > > Вопрос - а почему неверный? > > Обрезается "1" в начале версии: > Прошу прощения - не заметил эту деталь, так как на ней не было акцентировано внимание Замечание принимаю. Исправление будет в версии alt7
(Ответ для Artem Varaksa на комментарий #4) > То есть скрипт может просто ставить необходимые версии, а уже apt-get > разберется с тем, какие пакеты нужно удалить. Реализовано в podsec-1.0.10-alt7.noarch.