Mr.Smith
Права ты где поправил в итоге?
В папке элемент двум файлам дал права на выполнение от пользователя дженкинс
Mr.Smith
Этому файлу то же дал
Mr.Smith
Щас просто ОРНЕТЕ в голосину ошибки
J
Этому файлу то же дал
Этому файлу не надо давать, его динамитчески создает другой элемент.
Mr.Smith
tmp/dib_build.0FNAqHzX/hooks/root.d/10-rhel-cloud-image: /tmp/dib_build.0FNAqHzX/hooks/bin/extract-image: /bin/bash^M: bad interpreter: No such file or directory
Weird
да, действительно, исполняемый флаг нужен на инит скриптах, ляпнул не подумав
J
Щас просто ОРНЕТЕ в голосину ошибки
Без обид, но пока ору от того что модный пайплайн для сборки образов у вас есть, но при этом с правами на кастомные элементы ошибся кто-то) Сравни права на все файлы в гитлабе с теми чо стоят в дженкинсе у тебя. И проверь, может в гитлабе ваще через sudo пускается сборка.
Mr.Smith
tmp/dib_build.0FNAqHzX/hooks/root.d/10-rhel-cloud-image: /tmp/dib_build.0FNAqHzX/hooks/bin/extract-image: /bin/bash^M: bad interpreter: No such file or directory
Weird
^M выглядит как нечитаемый символ в скрипте
Denis
/r/n
Denis
файл ВИНДОВЫЙ :)
Denis
сокнвертируйте в юниксовый /n
J
файл ВИНДОВЫЙ :)
Да) КТо-то его в винде правил)
J
Откуда там ^M?
J
https://stackoverflow.com/questions/15020883/unix-script-appends-m-at-end-of-each-line
Mr.Smith
Откуда там ^M?
Ну… тут вариантов немного
Weird
открыть в виме и этот символ должно быть видно, можно удалить его будет и скорее всего там их может быть больше, если из винды редактировали
J
Зачем кому-то ваще понадобилось в винде чот делать с готовыми dib элементами?
Mr.Smith
Mr.Smith
Вроде что то пошло поехало
Mr.Smith
Mr.Smith
Я так понимаю он чрутится и ???
Mr.Smith
Жесть….
Mr.Smith
Там почти в каждом файле такая дичь
Mr.Smith
С символом \r
Roman
Там почти в каждом файле такая дичь
https://unix.stackexchange.com/questions/32954/use-sed-to-fix-broken-newlines Может поможет. Там про то как быстро пофиксить это говно со семи этими ^M^L
J
Я вот этим и воспользовался, но там ещё гавна много другого
Остановись пока) Смотри. 1. Без нужды готовые элементы из комплекта diskimage-builder редактировать не надо. 2. Если нужно кастомизировать элемент, просто скопируй в свой кастомный ELEMENTS_PATH и там сколько угодно редактируй, не забывая про права. Желательно их еще и переименовать, чтобы потом самому не путаться. 3. Во всех кастомных элементах в ELEMENTS_PATH проверь права на скрипты и если увидишь что в ELEMENTS_PATH лежат элементы с именами как у стандартных, полюбопытствуй зачем так сделано и менялось ли там чо-то. Может статься что кто-то по своему колхозному разумению просто накопировал в кастомный ELEMENTS_PATH стандартных элементов, попутно поломав права и загадив виндовыми спецсимволами.
J
В общем, выходит пока что дело не в скрипте твоем и не в diskimage-builder, а в чьей-то невнимательности.
Mr.Smith
Я редактирую в елемент паф
Mr.Smith
Вот там вот все это
Mr.Smith
Я всё откопировал не СР а рсунгом, я вообще не понимаю как это работает на убунту
Mr.Smith
На рхеле куча ошибок
Fox
трафик двухсторонний, буду разбираться
Fox
где то жопа
Mr.Smith
Коллеги
Mr.Smith
2022-11-01 10:14:31.686 | + true 2022-11-01 10:14:31.686 | + case "$1" in 2022-11-01 10:14:31.686 | + WORKDIR=/tmp/in_target.d/pre-install.d 2022-11-01 10:14:31.686 | + shift 2 2022-11-01 10:14:31.686 | + true 2022-11-01 10:14:31.686 | + case "$1" in 2022-11-01 10:14:31.686 | + shift 2022-11-01 10:14:31.686 | + break 2022-11-01 10:14:31.686 | + '[' -z /tmp/in_target.d/pre-install.d ']' 2022-11-01 10:14:31.686 | + PACKAGES= 2022-11-01 10:14:31.686 | ++ find /tmp/in_target.d/pre-install.d -maxdepth 1 -name 'package-installs-*' 2022-11-01 10:14:31.687 | + '[' -n '' ']' 2022-11-01 10:14:31.687 | + package-installs-v2 --phase pre-install.d /tmp/package-installs.json 2022-11-01 10:14:31.688 | /usr/bin/env: 'python3': No such file or directory
Mr.Smith
Почему говорит что питона нет
Mr.Smith
Я его запускаю, все работает
J
Я его запускаю, все работает
То есть, делаешь env python3 и попадаешь в питоновский шелл?
Mr.Smith
Да
Mr.Smith
То есть, делаешь env python3 и попадаешь в питоновский шелл?
Я разобрался, он чрутнулся и там питона нет
Mr.Smith
Нужно добавить в файл для установки
J
Чо, в божественном rhel8 нет третьего питона?)
Fedor
https://github.com/openstack/diskimage-builder/commit/4dbfab66a13d6e0568133c5fe349a719167017fa
Fedor
версия диба не некрофильская случайно?
Mr.Smith
8.5
Fedor
diskimage-builder --version
Fedor
нет там 8.5
Fedor
там 3.25.0 последняя
J
diskimage-builder --version
disk-image-create —version
Mr.Smith
8.5
Рхел
Fedor
git clone pip install .
Fedor
3.25.0
тогда странно, там есть элемент, который ставит питон3 (
J
тогда странно, там есть элемент, который ставит питон3 (
if [[ ${DISTRO_NAME} =~ (centos|rhel) && ${DIB_RELEASE} == 7 ]]; then
Fedor
там и для 8ки ниже
Mr.Smith
тогда странно, там есть элемент, который ставит питон3 (
Да есть, он берет версию pip ниже той что лежит в репе(
Mr.Smith
01-00-centos-python3
Mr.Smith
Вот этот?
J
Да есть, он берет версию pip ниже той что лежит в репе(
Не путай нас. Установка python3 захардкожена прямо в элемент yum.
J
Сразу скажи. Это тоже ты нашел внутри элемента в ELEMENTS_PATH?
Mr.Smith
Да
Mr.Smith
Mr.Smith
Вот так выглядит
J
Покажи вывод ls -l $ELEMENTS_PATH
Mr.Smith
apt-conf                  centos7                      debootstrap          dkms                   fedora-minimal   install-types       no-final-image        pycache           rpm-distro                 ubuntu-common apt-preferences           centos-minimal               deploy-baremetal     docker                 gentoo           iscsi-boot          oat-client            pypi                  runtime-ssh-host-keys      ubuntu-minimal apt-sources               chronyc                      deploy-kexec         dpkg                   growroot         iso                 openssh-server        python-brickclient    select-boot-kernel-initrd  ubuntu-signed baremetal                 cleanup-kernel-initrd        deploy-targetcli     dracut-network         grub2            journal-to-console  openstack-ci-mirrors  python-stow-versions  selinux-permissive         ubuntu-systemd-container base                      cloud-init                   deploy-tgtadm        dracut-ramdisk         hpdsa            linuxadm-customize  opensuse              ramdisk               simple-init                vm block-device-efi          cloud-init-datasources       devuser              dracut-regenerate      hwburnin         local-build         opensuse-minimal      ramdisk-base          source-repositories        yum block-device-gpt          cloud-init-disable-resizefs  dhcp-all-interfaces  dynamic-login          hwdiscovery      local-config        package-installs      rax-nova-agent        stable-interface-names     yum-minimal block-device-mbr          cloud-init-nocloud           dib-init-system      element-manifest       ibft-interfaces  lvm                 pip-and-virtualenv    redhat-common         svc-map                    zipl block-device-mbr-no-boot  debian                       dib-python           enable-serial-console  ilo              manifests           pip-cache             rhel                  sysctl                     zypper bootloader                debian-minimal               dib-run-parts        ensure-venv            init.py      mellanox            pkg-map               rhel7                 sysprep                    zypper-minimal cache-url                 debian-systemd               disable-nouveau      epel                   install-bin      modprobe            posix                 rhel8                 uboot centos                    debian-upstart               disable-selinux      fedora                 install-static   modprobe-blacklist  proliant-tools        rhel-common           ubuntu
J
Бляяяя