-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
D-Bus API for registration #791
Conversation
# selected patterns is hash with pattern name as id and 0 for user selected and | ||
# 1 for auto selected. Can be extended in future e.g. for mandatory patterns | ||
dbus_attr_reader :selected_patterns, "a{sy}" | ||
dbus_reader :selected_product, "s" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when we touch it we probably also need to solve issue with version...as there can be two products with same name and different version like it happen with micro based on some SP. And registration need version....maybe product should be tuple of strings with name and version?
e2512ec
to
719d421
Compare
f6dc77e
to
88141e1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM now. manual test passed
Problem
Agama needs to know the repositories of the product to install. But for some products (e.g., SLE, ALP), the repositories are unknown until the product is registered.
Solution
Export a new D-Bus object
/org/opensuse/Agama/Software1/Product
to manage the product selection and registration. Note that methods for selecting a product were moved from/org/opensuse/Agama/Software1
object.Note 1: the current code still uses the libsuseconnect ruby bindings to communicate to SCC. That bindings only exist because of YaST, and it should not be used for new projects. The plan is to directly use SUSEConnect CLI in Agama instead. But for that, SUSEConnect needs some improvements in order to avoid applying changes on the running system. SCC team is already working on it, see https://github.com/SUSE/scc-docs/pull/287.
Note 2: the current implementation works similar to YaST, that is, the service, repositories, SCC credentials, etc are directly added to the running system (e.g., TW running on agama-live) and then they are copied to the target system. Changes altering the running system should be avoided. This will be improved in a follow-up task, see https://trello.com/c/jqcFar3M/243-agama-registration-avoid-changes-in-running-system.
Note 3: RMT and SSL certificates are not covered yet. This will come in a next iteration.
Note 4: the target of this PR is the registration feature branch. It will be merged into master once the registration UI is implemented.
Note 5: changelog will be added later at the time of merging into master.
Testing