Open saviit opened 1 week ago
Tämä vaatii tarkennusta, sillä nyt jotain ei täsmää. poetry.lock
-tiedoston sisältö ei saa muuttua paitsi jos pakkaukset asennetaan tai poistetaan poetrylla. Pelkästään uuden TIM-instanssin pystytys ei muuta lock-tiedoston sisältöä.
Onko nyt ihan 100 % varma, ettei syy ole nyt perimmäisesti joku toinen? Onko varmasti testattu, että juuri poetry.lock eroaa? Millä tavalla sen saa toistettua tarkasti? Esimerkiksi vaihe vaiheelta stepit, jolla saisin asian toistettua omalla tyhjällä Linux-asennuksella.
Ja jos saa toistettua, niin laitatko vaikka tähän korttiin poetry.lock -tiedosto, joka sinulla on. Sen voisi kokeilla diffata repossa olevaan.
Lisähuomiona: jos muistan oikein, uusimissa Poetry-versiossa lockfilen formaatti on hieman eri. Se kuitenkin pitäisi ratketa ihan vaan nostamalla poetryn versio CLIssa, generoimalla lockfilen uusiksi (poetry lock
) ja puskemalla kontit uusilla hasheilla
Tämän voi varmistaa ihan vaan diffaamalla uusimman poetryn lockfilen vanhaan
Onko nyt ihan 100 % varma, ettei syy ole nyt perimmäisesti joku toinen? Onko varmasti testattu, että juuri poetry.lock eroaa? Millä tavalla sen saa toistettua tarkasti? Esimerkiksi vaihe vaiheelta stepit, jolla saisin asian toistettua omalla tyhjällä Linux-asennuksella.
Joo ei ole tosiaan 100% varma tämä, sen verran alussa itselläkin selvittely että aika paljon kysymysmerkkejä, lähinnä laitoin nyt ylös arveluja mahdollisesta syystä vielä kun ne oli muistissa.
Laitan tähän nyt toivottavasti jokseenkin selkeän sepustuksen tapahtumaketjusta omalta osalta. Käytössä Manjaro kernelillä 6.1.94-1.
./tim setup
. Poetry kaatui virheeseen heti alkuunsa, jo ennen virtuaaliympäristön luomista, koska Python3.12 ei ollut tuettuna. Jostain syystä oma Poetry-versio oli lukittunut versioon 1.3.1 ja ajettiin ilmeisesti aina polusta ~/.local/bin. Päivittäminen ei onnistunut sen enempää pip:llä, poetryn omalla poetry self update
lla kuin pacmanillakaan. Kun poistin sudona version 1.3.1 tuolta polusta, sain asennettua globaalisti tuoreimman 1.8.3 version, joka on yhteensopiva Python 3.12 kanssa. setup.py
ssä POETRY_MIN_VERSION
muuttujan '1.5.1' -> '1.8.3'. Muistelen, että ilman tuota pakettien asennus ei olisi mennyt läpi (koska Python 3.12), mutta pitää varmistaa vielä.
POETRY_MIN_VERSION
takaisin 1.8.3 --> 1.5.1.venv
polusta /opt/tim
poetry.lock
./tim setup --force
./tim setup --force
, nyt paketit asentuivat ongelmitta. docker compose -f docker-compose.yml pull
. Virheilmoituksena lukee Error response from daemon: manifest unknown
, joka ymmärtääkseni johtuu siitä, että konttirekisteristä ei löydy pyydetyllä tagilla sopivaa imagea.Mun täytyy yrittää vielä itsekin toistaa tämä puhtaalta pöydältä, tuossa on ainakin poetryn osalta vähän sellaista 'kokeillaan toimisko tämä'-tyyppistä.
During TIM setup (
./tim setup
, or via installation shell script), we generate thedocker-compose.yml
file that is used for pulling our Docker images. Image hashes/tags are calculated based on localDockerfile
s and the package lock filepoetry.lock
(seecli/docker/service_variables.py
andcli/util/hash.py
). The latter of these,poetry.lock
, is not always consistent on some Linux distributions, mainly those with a rolling (package) update policy, such as Arch/Manjaro. This in turn may result in image hashes/tags that do not exist in the container registry, so the installation fails midway (Docker error 'manifest unknown').Suggestions on fixes (untested as of 2024-07-05):
POETRY_MIN_VERSION
incli/commands/setup.py
to at least 1.7.0 to support Python 3.12 for distros with rolling updates (might as well go for the latest 1.8.3. then)poetry.lock
for image hash generation, useIMAGE_NAME:latest
?or