Fedora pakking av Nikita Noark5 Core implementasjonen av Noark 5v5

Thomas Sødring tsodring at oslomet.no
Fri May 14 16:21:54 CEST 2021


Hei Ole,

Jeg håper at følgende fiks i master ordner opp i dette for deg:

https://gitlab.com/OsloMet-ABI/nikita-noark5-core/-/commit/b3076550aabdc89e0fac7422de254ae115952013

Det er ikke alltid lett å forstå feilmeldinger i spring-boot når noe  
går galt under oppstart. Ofte er det en "persistence problem" og mange 
tror at det er en feil med databasen. Man må lese litt oppover og lete 
etter grunnen til at det ikke fungerte.

Feilen du opplevde var .json filer i jar filen ikke kunne leses og jeg 
måtte bytte ut til en inputstremreader. Ser ut som om det fungerer.

For å bygge jar filen gjorde jeg følgende fra koderot:

    mvn -DskipTests=true clean validate install

Deretter gjorde jeg:

    java -jar target/nikita-noark5-core-0.5.jar

og nikita startet med H2 database. Husk at data som er lagret i H2 
databasen blir borte når du avslutter nikita. Bruken av H2-databasen er 
for å gjøre det enkelt å komme i gang med nikita / tjenestegrensesnitt 
APIet.

Takk for at du ser på hvordan man pakker nikita som rpm. Det er nyttig 
innsikt å ha i prosjektet framover. Samtidig er det viktig at ingen tror 
nikita er klar for å brukes i produksjon. Det er mer som skal til før det.

  - Thomas

On 5/13/21 9:03 PM, Ole Aamot wrote:
> Hei Thomas!
>
> Vi snakket om systemd-initiering av Nikita Noark5 Core i
> operativsystemet Fedora 34 i går på IRC:
>
> <earlgrey> men jeg vil gjerne ha en merge reuest med det som trengs for
> |
>                     nikita skal kjøre som en tjeneste
>
> <earlgrey> men husk å gjøre det for en spring-boot app ikke en vilkårlig
>                     java program
>          |
> <earlgrey> foretrekker å la spring-boot selv styre stat og stopp
>
>
> Jeg satte opp en autoconf-byggeprosess som bygger
> nikita-noark5-core-0.5.5.tar.xz i katalogen
>
>       nikita-noark5-core/fedora/
>
> og la inn en merge-request på Gitlab:
>
> Fedora packaging of Nikita Noark5 Core implementation of Noark 5v5
> https://gitlab.com/OsloMet-ABI/nikita-noark5-core/-/merge_requests/401
>
>
> Med denne endringen (en ny mappe "nikita-noark5-core/fedora/") kan en
> deretter bygge pakken nikita-noark5-core-0.5.5.tar.xz i
> "nikita-noark5-core/fedora/" på Fedora Core 34 med følgende kommandoen i
> GNOME Terminal:
>
> $ git clone https://gitlab.com/OsloMet-ABI/nikita-noark5-core.git
> $ cd nikita-noark5-core/fedora/
> $ autoreconf
> $ aclocal
> $ autoheader
> $ automake --add-missing
> $ autoconf
> $ ./configure && make distcheck
> $ rpmbuild -ta  nikita-noark5-core-0.5.5.tar.xz
> $ sudo rpm -Uvh
> ~/rpmbuild/RPMS/x86_64/nikita-noark5-core-0.5.5-1.fc34.x86_64.rpm
>
> Deretter kan en starte Nikita som systemd-tjeneste på følgende vis:
>
> $ sudo service nikita-noark5-core start
> $ sudo service nikita-noark5-core status
>
> × nikita-noark5-core.service - Nikita Noark5 Core
>        Loaded: loaded (/etc/systemd/system/nikita-noark5-core.service;
> enabled; vendor preset: disabled)
>        Active: failed (Result: exit-code) since Thu 2021-05-13 20:31:28
> CEST; 17min ago
>       Process: 3740 ExecStart=/usr/bin/java -jar
> /usr/share/java/nikita-noark5-core-0.5.jar (code=exited,
> status=1/FAILURE)
>      Main PID: 3740 (code=exited, status=1/FAILURE)
>           CPU: 59.335s
>
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop table
> if exists sa_registry_entry_precedence CASCADE
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop table
> if exists sa_registry_entry_sign_off CASCADE
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop table
> if exists sa_sequence_generator CASCADE
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop table
> if exists system_id_entity CASCADE
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop
> sequence if exists authority_seq
> mai 13 20:31:28 podium.aamot.software java[3740]: 2021-05-13
> 20:31:28.419  INFO 3740 --- [           main]
> com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown ini>
> mai 13 20:31:28 podium.aamot.software java[3740]: 2021-05-13
> 20:31:28.432  INFO 3740 --- [           main]
> com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown com>
> mai 13 20:31:28 podium.aamot.software systemd[1]:
> nikita-noark5-core.service: Main process exited, code=exited,
> status=1/FAILURE
> mai 13 20:31:28 podium.aamot.software systemd[1]:
> nikita-noark5-core.service: Failed with result 'exit-code'.
> mai 13 20:31:28 podium.aamot.software systemd[1]:
> nikita-noark5-core.service: Consumed 59.335s CPU time.
>
>
> Jeg har ikke startet Nikita Noark5 Core med spring-boot, men med java
> -jar nikita-noark5-core-0.5.jar som distribueres som JAR-pakke bygget
> fra nikita-noark5-core/target/nikita-noark5-core-0.5.jar og symlinkes
> inn i fedora/nikita-noark5-core-0.5.jar ->
> ../target/nikita-noark5-core-0.5.jar i merge-requesten
>
> Fedora packaging of Nikita Noark5 Core implementation of Noark 5v5
> https://gitlab.com/OsloMet-ABI/nikita-noark5-core/-/merge_requests/401
>
> Hvordan starter jeg Nikita Noark5 Core ved hjelp av spring-boot manuelt
> i stedet for "java -jar nikita-noark5-core-0.5.jar"?
>
> Jeg ser at kjøringen av nikita-noark5-core ved hjelp av denne
> fremgangsmåten avslutter etter
>
> INFO 3740 --- [           main] com.zaxxer.hikari.HikariDataSource
> : HikariPool-1 - Shutdown com>
>
> i siste versjon av Nikita Noark5 Core fra Gitlab.
>
> $ sudo service nikita-noark5-core status
>
> × nikita-noark5-core.service - Nikita Noark5 Core
>        Loaded: loaded (/etc/systemd/system/nikita-noark5-core.service;
> enabled; vendor preset: disabled)
>        Active: failed (Result: exit-code) since Thu 2021-05-13 20:31:28
> CEST; 17min ago
>       Process: 3740 ExecStart=/usr/bin/java -jar
> /usr/share/java/nikita-noark5-core-0.5.jar (code=exited,
> status=1/FAILURE)
>      Main PID: 3740 (code=exited, status=1/FAILURE)
>           CPU: 59.335s
>
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop table
> if exists sa_registry_entry_precedence CASCADE
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop table
> if exists sa_registry_entry_sign_off CASCADE
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop table
> if exists sa_sequence_generator CASCADE
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop table
> if exists system_id_entity CASCADE
> mai 13 20:31:28 podium.aamot.software java[3740]: Hibernate: drop
> sequence if exists authority_seq
> mai 13 20:31:28 podium.aamot.software java[3740]: 2021-05-13
> 20:31:28.419  INFO 3740 --- [           main]
> com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown ini>
> mai 13 20:31:28 podium.aamot.software java[3740]: 2021-05-13
> 20:31:28.432  INFO 3740 --- [           main]
> com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown com>
> mai 13 20:31:28 podium.aamot.software systemd[1]:
> nikita-noark5-core.service: Main process exited, code=exited,
> status=1/FAILURE
> mai 13 20:31:28 podium.aamot.software systemd[1]:
> nikita-noark5-core.service: Failed with result 'exit-code'.
> mai 13 20:31:28 podium.aamot.software systemd[1]:
> nikita-noark5-core.service: Consumed 59.335s CPU time.
>
> Mottar gjerne tips om hvordan jeg kan forbedre binary-pakkingen av
> Nikita Noark5 Core for Fedora Core 34 med håndtering av prosessen som en
> systemd-service.
>


More information about the nikita-noark mailing list