Hello Users,Dev,
I have modified my '/usr/share/susemanager/mgr_bootstrap_data.py' in order to bootstrap openSUSE Leap 15.1 , but it will be nice if in the next versions we have that out of the box.I haven't tested my modifications, but I will keep you updated.
Do you see any issues with my modification?
Here is what I got for openSUSE 15.X:
openSUSE-Leap-15.0-x86_64' : {
'BASECHANNEL' : 'opensuse_leap15_0-x86_64', 'PKGLIST' : PKGLIST15 + PKGLIST15_NO_Z,
'DEST' : '/srv/www/htdocs/pub/repositories/opensuse/15/0/bootstrap/'
},
'openSUSE-Leap-15.1-x86_64' : {
'BASECHANNEL' : 'opensuse_leap15_1-x86_64', 'PKGLIST' : PKGLIST15 + PKGLIST15_NO_Z,
'DEST' : '/srv/www/htdocs/pub/repositories/opensuse/15/1/bootstrap/'
},
Best Regards,
Strahil Nikolov
--
To unsubscribe, e-mail: uyuni-users+unsubscribe(a)opensuse.org
To contact the owner, e-mail: uyuni-users+owner(a)opensuse.org
Hello Uyuni devel,
this is a feature request for sysadmins, managing Debian / Ubuntu
systems with Uyuni.
Although there has been a lot of work to support Ubuntu / Debian, there
is still some major thing missing.
Several metadata headers are missing for Debian packages, that causes
major issues on Debian / Ubuntu systems.
One header is the "Multi-Arch" header, that is missing. This missing
header causes packages to be installable over and over again. "apt" does
not correctly "get it", that this package is already the newest
installed and suggests these packages when searching for updates all the
time.
Also some dependencies cannot be successfully solved, because of this
missing header.
So the workaround most Debian / Ubuntu admins are doing right now, is to
- sync the data into Uyuni
- wait for spacewalk to generate the "Packages.gz" file
- start - possibly below - script to add the missing "Multi-Arch" header
to the "Packages.gz" file
- sign the file
Currently, I don't think that there are any efforts to tune the Uyuni
database to also support the missing headers of Debian packages.
So a further workaround could be to include such a script to add the
missing headers "while or after" the "Packages.gz" gets created (or has
been created), but before the file gets "signed".
This could be added somewhere within the "DebRepositoryWriter.java"
file, where the "signing" of the channel starts.
First, I only had written a script to only add the "Multi-Arch" header.
But this script below adds all headers missing for a packages.
For this to work, you - of course - need the original "Packages.gz" file
from Debian / Ubuntu with *all* headers present.
Think about it. Would be cool, if this part could also be integrated
into Uyuni.
Just an idea and still used as workaround....
Best regards,
Robert
#!/usr/bin/env python -tt
# Basically, this should only add one major header
# 'Multi-Arch' to the Debian Packages file, but now
# we add all missing headers.
#
# This only works correctly, if you are syncing the Debian repos
# directly to one channel within Spacewalk or Uyuni
#
# You also need python-debian (which is installed on
# Spacewalk server) to run this script
#
# Author: Robert Paschedag <robert.paschedag(a)netlution.de>
# Version: 20181107
import sys
import os
from debian.deb822 import *
if len(sys.argv) < 3:
print "Usage: %s <path_to_unzipped_Packages_from_Spacewalk_Uyuni>
<path_to_original_Debian_repo>" % sys.argv[0]
sys.exit(1)
spacewalk_file = sys.argv[1]
original_file = sys.argv[2]
if not os.path.isfile(spacewalk_file):
print "Error: Inputfile '%s' not available." % spacewalk_file
sys.exit(1)
if not os.path.isfile(original_file):
print "Error: Inputfile '%s' not available." % original_file
sys.exit(1)
spacewalk_packages = {}
original_packages = {}
with open(spacewalk_file, 'r') as pkgs:
for pkg in Packages.iter_paragraphs(pkgs):
spacewalk_packages[pkg['Package'] + pkg['Version'] +
pkg['Architecture']] = pkg
with open(original_file, 'r') as orig_file:
for pkg in Packages.iter_paragraphs(orig_file):
p = pkg['Package']
v = pkg['Version']
a = pkg['Architecture']
if spacewalk_packages.has_key(p + v + a):
# found package. Check for missing headers
for header in pkg.keys():
if not header in spacewalk_packages[p + v + a].keys():
spacewalk_packages[p + v + a][header] = pkg[header]
# open new file
new_package = open(spacewalk_file + '.new', 'w')
for pkg in spacewalk_packages.values():
pkg.dump(new_package)
new_package.write("\n")
new_package.close()
sys.exit(0)
uyuni-test:/usr/local/sbin #
--
To unsubscribe, e-mail: uyuni-users+unsubscribe(a)opensuse.org
To contact the owner, e-mail: uyuni-users+owner(a)opensuse.org
Hello,
i set up a new uyuni and register my test systems.
It was possible to registered the server successfully, but all the server are now inactive.
After delete and reregistered again, only the salt-key is visible, but the system is not register successfully.
After the delete I was also deinstalle the salt-minion, salt and python2-salt from the client and run the bootstrapscript again, without an error on the client side.
The salt stack is working, I'm able to contact the minions from the salt-mast and across.
The following os-systems are registered to Uyuni and has the same issue:
OpenSUSE Leap 15.0
OpenSUSE Leap 15.1
OpenSUSE Leap 42.3
SLES12SP4
By the inactive and registered system it is possible to ask for the salt state from the client side:
Salt-call state.highstate:
local:
----------
ID: mgrchannels_repo
Function: file.managed
Name: /etc/zypp/repos.d/susemanager:channels.repo
Result: True
Comment: File /etc/zypp/repos.d/susemanager:channels.repo is in the correct state
Started: 07:43:47.884492
Duration: 181.211 ms
Changes:
----------
ID: /etc/pki/trust/anchors/RHN-ORG-TRUSTED-SSL-CERT
Function: file.managed
Result: True
Comment: File /etc/pki/trust/anchors/RHN-ORG-TRUSTED-SSL-CERT is in the correct state
Started: 07:43:48.066056
Duration: 1277.558 ms
Changes:
----------
ID: update-ca-certificates
Function: cmd.run
Name: /usr/sbin/update-ca-certificates
Result: True
Comment: State was not run because none of the onchanges reqs changed
Changes:
----------
ID: pkg_installed
Function: pkg.installed
Result: True
Comment: No packages to install provided
Started: 07:43:49.383607
Duration: 1.142 ms
Changes:
----------
ID: pkg_removed
Function: pkg.removed
Result: True
Comment: All specified packages are already absent
Started: 07:43:49.385007
Duration: 1407.343 ms
Changes:
----------
ID: pkg_latest
Function: pkg.latest
Result: True
Comment: No packages to install provided
Started: 07:43:50.792781
Duration: 0.797 ms
Changes:
----------
ID: disable_spacewalksd
Function: service.dead
Name: rhnsd
Result: True
Comment: The named service rhnsd is not available
Started: 07:43:50.795305
Duration: 17.72 ms
Changes:
----------
ID: disable_spacewalk-update-status
Function: service.dead
Name: spacewalk-update-status
Result: True
Comment: The named service spacewalk-update-status is not available
Started: 07:43:50.813411
Duration: 10.929 ms
Changes:
----------
ID: disable_osad
Function: service.dead
Name: osad
Result: True
Comment: The named service osad is not available
Started: 07:43:50.824714
Duration: 10.748 ms
Changes:
----------
ID: remove_traditional_stack
Function: pkg.removed
Result: True
Comment: All specified packages are already absent
Started: 07:43:50.835840
Duration: 491.993 ms
Changes:
----------
ID: mgr_mine_config
Function: file.managed
Name: /etc/salt/minion.d/susemanager-mine.conf
Result: True
Comment: File /etc/salt/minion.d/susemanager-mine.conf is in the correct state
Started: 07:43:51.328156
Duration: 8.212 ms
Changes:
----------
ID: mgr_salt_minion
Function: pkg.installed
Name: salt-minion
Result: True
Comment: All specified packages are already installed
Started: 07:43:51.336736
Duration: 28026.016 ms
Changes:
----------
ID: mgr_salt_minion
Function: service.running
Name: salt-minion
Result: True
Comment: The service salt-minion is already running
Started: 07:44:19.363709
Duration: 30.719 ms
Changes:
Summary for local
-------------
Succeeded: 13
Failed: 0
-------------
Total states run: 13
Total run time: 31.464 s
>From the Salt-Master:
uyuni:~ # salt '*' test.version
uyuni-proxy.xxxxx.xxx:
2018.3.0
lxeval02.xxxxx.xxx:
2018.3.0
lxeval01.xxxxx.xxx:
2018.3.0
kvm.xxxxxx.xxx:
2019.2.0
I found no error in the /var/log/salt/master and only the following error is visible in the /etc/var/log/rhn/rhn_web_ui.log:
2019-05-09 07:49:40,330 [salt-event-thread-5] ERROR com.redhat.rhn.frontend.events.TransactionHelper - com.suse.manager.reactor.PGEventListenerException
2019-05-09 07:49:40,350 [salt-event-thread-3] ERROR com.redhat.rhn.frontend.events.TransactionHelper - Additional Exception during Exception handling
java.lang.ClassCastException
2019-05-09 07:49:40,352 [salt-event-thread-6] ERROR com.redhat.rhn.frontend.events.TransactionHelper - java.lang.ClassCastException
2019-05-09 07:49:40,352 [salt-event-thread-5] ERROR com.redhat.rhn.frontend.events.TransactionHelper - java.lang.ClassCastException
2019-05-09 07:49:40,353 [salt-event-thread-2] ERROR com.redhat.rhn.frontend.events.TransactionHelper - java.lang.ClassCastException
2019-05-09 07:49:40,353 [salt-event-thread-2] ERROR com.redhat.rhn.frontend.events.TransactionHelper - Additional Exception during Exception handling
java.lang.ClassCastException
2019-05-09 07:49:40,353 [salt-event-thread-5] ERROR com.redhat.rhn.frontend.events.TransactionHelper - Additional Exception during Exception handling
java.lang.ClassCastException
2019-05-09 07:49:40,353 [salt-event-thread-7] ERROR com.redhat.rhn.frontend.events.TransactionHelper - java.lang.ClassCastException
2019-05-09 07:49:40,354 [salt-event-thread-6] ERROR com.redhat.rhn.frontend.events.TransactionHelper - Additional Exception during Exception handling
java.lang.ClassCastException
2019-05-09 07:49:40,355 [salt-event-thread-7] ERROR com.redhat.rhn.frontend.events.TransactionHelper - Additional Exception during Exception handling
java.lang.ClassCastException
2019-05-09 07:49:40,368 [salt-event-thread-1] ERROR com.suse.manager.reactor.PGEventListener - Unexpected exception while executing a MessageAction
org.hibernate.NonUniqueResultException: query did not return a unique result: 2
at org.hibernate.query.internal.AbstractProducedQuery.uniqueElement(AbstractProducedQuery.java:1468)
at org.hibernate.query.internal.AbstractProducedQuery.uniqueResult(AbstractProducedQuery.java:1438)
at com.redhat.rhn.domain.server.VirtualInstanceFactory.lookupHostVirtInstanceByHostId(VirtualInstanceFactory.java:370)
at com.redhat.rhn.manager.system.VirtualInstanceManager.updateHostVirtualInstance(VirtualInstanceManager.java:60)
at com.suse.manager.reactor.messaging.VirtpollerBeaconEventMessageAction.lambda$execute$0(VirtpollerBeaconEventMessageAction.java:36)
at java.util.Optional.ifPresent(Optional.java:159)
at com.suse.manager.reactor.messaging.VirtpollerBeaconEventMessageAction.execute(VirtpollerBeaconEventMessageAction.java:35)
at com.suse.manager.reactor.PGEventListener.lambda$null$1(PGEventListener.java:74)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at com.suse.manager.reactor.PGEventListener.lambda$notify$2(PGEventListener.java:72)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at com.suse.manager.reactor.PGEventListener.notify(PGEventListener.java:69)
at com.suse.salt.netapi.event.AbstractEventStream.notifyListeners(AbstractEventStream.java:64)
at com.suse.manager.reactor.PGEventStream.lambda$processEvents$3(PGEventStream.java:147)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352)
at java.util.stream.Sink$ChainedReference.end(Sink.java:258)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at com.suse.manager.reactor.PGEventStream.processEvents(PGEventStream.java:141)
at com.suse.manager.reactor.PGEventStream.lambda$null$0(PGEventStream.java:127)
at com.redhat.rhn.frontend.events.TransactionHelper.run(TransactionHelper.java:62)
at com.redhat.rhn.frontend.events.TransactionHelper.handlingTransaction(TransactionHelper.java:46)
at com.suse.manager.reactor.PGEventStream.lambda$notification$2(PGEventStream.java:126)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2019-05-09 07:49:40,386 [salt-event-thread-1] ERROR com.redhat.rhn.frontend.events.TransactionHelper - com.suse.manager.reactor.PGEventListenerException
2019-05-09 07:49:40,386 [salt-event-thread-7] ERROR com.suse.manager.reactor.messaging.JobReturnEventMessageAction - Error mapping action chain result: "'mgractionchains.resume' is not available."
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at path $
at com.google.gson.Gson.fromJson(Gson.java:900)
at com.google.gson.Gson.fromJson(Gson.java:953)
at com.suse.manager.reactor.messaging.JobReturnEventMessageAction.lambda$execute$7(JobReturnEventMessageAction.java:128)
at java.util.Optional.ifPresent(Optional.java:159)
at com.suse.manager.reactor.messaging.JobReturnEventMessageAction.execute(JobReturnEventMessageAction.java:114)
at com.suse.manager.reactor.PGEventListener.lambda$null$1(PGEventListener.java:74)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at com.suse.manager.reactor.PGEventListener.lambda$notify$2(PGEventListener.java:72)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at com.suse.manager.reactor.PGEventListener.notify(PGEventListener.java:69)
at com.suse.salt.netapi.event.AbstractEventStream.notifyListeners(AbstractEventStream.java:64)
at com.suse.manager.reactor.PGEventStream.lambda$processEvents$3(PGEventStream.java:147)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352)
at java.util.stream.Sink$ChainedReference.end(Sink.java:258)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at com.suse.manager.reactor.PGEventStream.processEvents(PGEventStream.java:141)
at com.suse.manager.reactor.PGEventStream.lambda$null$0(PGEventStream.java:127)
at com.redhat.rhn.frontend.events.TransactionHelper.run(TransactionHelper.java:62)
at com.redhat.rhn.frontend.events.TransactionHelper.handlingTransaction(TransactionHelper.java:46)
at com.suse.manager.reactor.PGEventStream.lambda$notification$2(PGEventStream.java:126)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at path $
at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:161)
at com.google.gson.internal.bind.JsonTreeReader.beginObject(JsonTreeReader.java:87)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:183)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
at com.google.gson.Gson.fromJson(Gson.java:888)
For me it looks like an issue on the Uyuni, but can't found the issue.
Who can help ?
Best regards
Alexander
DXC Technology Company -- This message is transmitted to you by or on behalf of DXC Technology Company or one of its affiliates. It is intended exclusively for the addressee. The substance of this message, along with any attachments, may contain proprietary, confidential or privileged information or information that is otherwise legally exempt from disclosure. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient of this message, you are not authorized to read, print, retain, copy or disseminate any part of this message. If you have received this message in error, please destroy and delete all copies and notify the sender by return e-mail. Regardless of content, this e-mail shall not operate to bind DXC Technology Company or any of its affiliates to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. --.
--
To unsubscribe, e-mail: uyuni-users+unsubscribe(a)opensuse.org
To contact the owner, e-mail: uyuni-users+owner(a)opensuse.org
Hello,
I have 50 systems managed by a Uyuni server.
From this 7 of the not reconnect to server from 2 days. (Uyuni is 4.0
RC1 on OpensuseLeap). I restart all, minions and server with same results
If I check from salt console they are ok, execute all comands.
Where I can check the issue?
I deleted the system from Uyuni but I can't readd as managed server.
(with same hostname)
What you suggest?
Thanks in advance for any replay
--
Cristian Gherman
Support / PHP developer
cristian.gherman(a)reea.net | www.reea.net | +4 0365410942