Coder Social home page Coder Social logo

photon-os-container-builder's People

Contributors

dependabot[bot] avatar gsujayvmw avatar ssahani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

photon-os-container-builder's Issues

Boot a container on a Ph5 RC RT vm fails to ask for password change

Describe the bug

With respect to the docs, the first time a Photon OS 5 container boots, it asks change the password. See reproduction steps with logfile, this didn't happen.

Reproduction steps

  1. VMware Workstation 17, provisioned vm from photon-5.0-4d5974638.x86_64.iso with 2GB RAM + 50GB disk + SATA Controller + USB 3.1, Real-Time flavor
  2. Before Ph5 GA, to update Ph5RC with the latest commits, run :
cat <<EOF_REPO > /etc/yum.repos.d/photon-dev.repo
[photon-dev]
name=VMware Photon Linux \$releasever dev (\$basearch)
baseurl=https://packages.vmware.com/photon/dev/latest/photon_dev_\$basearch
pgpkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY-4096
pgpcheck=1
enabled=1
EOF_REPO
tdnf makecache
tdnf update -y
tdnf install -y photon-os-container-builder
  1. run tdnf install systemd-container
  2. run cntrctl spawn photon5
  3. run cntrctl boot photon5
  4. see screen output logfile extract container boot

Expected behavior

Successfully provision containers.

Additional context

No response

2nd spawn of a container on a Ph5 RC vm fails

Describe the bug

2nd spawn of a container on Ph5 RC RT vm fails in the environment described in the reproduction steps.
The screen output logfile (see in reproduction steps) throws out several issues.

  1. command not found cp: command not found, openssl: command not found
  2. package dependencies
    package cloud-init-23.1.1-2.ph4.noarch requires python3, but none of the providers can be installed
    package shadow-4.8.1-3.ph4.x86_64 requires cracklib, but none of the providers can be installed
    package open-vm-tools-12.2.0-1.ph4.x86_64 requires openssl, but none of the providers can be installed
    package python3-libs-3.10.0-10.ph4.x86_64 requires /usr/bin/python, but none of the providers can be installed
    package systemd-247.13-2.ph4.x86_64 requires gnutls, but none of the providers can be installed
    package openssh-8.8p1-5.ph4.x86_64 requires openssl, but none of the providers can be installed
    package python3-3.10.0-10.ph4.x86_64 requires openssl, but none of the providers can be installed
    package rpm-4.16.1.3-16.ph4.x86_64 requires openssl >= 1.1.1, but none of the providers can be installed
    package python3-xml-3.10.0-10.ph4.x86_64 requires python(abi) = 3.10, but none of the providers can be installed
    package dbus-1.13.18-3.ph4.x86_64 requires systemd, but none of the providers can be installed
    package curl-8.0.1-1.ph4.x86_64 requires openssl, but none of the providers can be installed
    package krb5-1.17-9.ph4.x86_64 requires openssl, but none of the providers can be installed
    package tdnf-3.3.8-2.ph4.x86_64 requires librpmio.so.9()(64bit), but none of the providers can be installed
  3. Assumption of static ip
    Failed to create unit file for 'photon4': chmod /var/lib/machines/photon4/lib/systemd/network/10-photon4.network: no such file or directory

The main topic is release-consistency. How is it guaranteed that provisioning (spawn+boot+start) of a container always starts the same bits ?
Is ``cntrctl spawn photon4` equivalent to "spawn latest" ? This is okay, but for testing purposes release-consistency should be the default.

Reproduction steps

  1. VMware Workstation 17, provisioned vm from photon-5.0-4d5974638.x86_64.iso with 2GB RAM + 50GB disk + SATA Controller + USB 3.1
  2. Before Ph5 GA, to update Ph5RC with the latest commits, run :
cat <<EOF_REPO > /etc/yum.repos.d/photon-dev.repo
[photon-dev]
name=VMware Photon Linux \$releasever dev (\$basearch)
baseurl=https://packages.vmware.com/photon/dev/latest/photon_dev_\$basearch
pgpkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY-4096
pgpcheck=1
enabled=1
EOF_REPO
tdnf makecache
tdnf update -y
tdnf install -y photon-os-container-builder
  1. run tdnf install systemd-container
  2. run cntrctl spawn photon5
  3. run cntrctl boot photon5, 3x ctrl-]
  4. run cntrctl spawn photon4
  5. see screen output logfile container spawn

Expected behavior

Successfully provision containers.

Additional context

No response

only by-default repo files are copied into container

Hi Susant,

Do you have any comment on the above issue?
Container only copy the by-default repo files from vm and current_repo.repo is missed. Is it expecte?

Example:
root@ph-6324 [ ~/photon-os-container-builder ]# ls /etc/yum.repos.d/
current_repo.repo photon-debuginfo.repo photon-extras.repo photon-iso.repo photon-release.repo photon.repo photon-updates.repo

root@ph-6324 [ ~/photon-os-container-builder ]# systemd-run -M michellew --wait --pty /bin/bash -c "ls /etc/yum.repos.d/"
Running as unit: run-u4.service
Press ^] three times within 1s to disconnect TTY.
photon-debuginfo.repo photon-extras.repo photon-iso.repo photon-release.repo photon-updates.repo photon.repo
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 15ms

Repro steps:
• ./bin/containerctl spawn michellew
• ./bin/containerctl start michellew
• systemd-run -M michellew --wait --pty /bin/bash -c "ls /etc/yum.repos.d/"

Thanks,
Michelle

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.