Hello everyone.

We are developing here Action Chain feature, where you can add some actions
(install/remove/verify/etc package or other things) to the Chain, making sort
of one-shot batch. These actions won't be executed, until you execute the
entire chain.

We are also developing the XML-RPC API for it and they are already working in
our branch. :)

Here how do they look like. For example, in Python you could call:

client = xmlrpc....
sid = client.login....

# To list them
for chain in client.actionchains.listChains():
    print chain.get("name")

# Add some package removal.
# Note: the IP is optional, IPv6 accepted too

client.actionchains.addPackageRemoval(sid,
    "myfantasticserver", "12.34.56.78",
    [{"name" : "alsa-lib", "version" : "1.0.22",},
     {"name" : "some-name", "version" : "1.2.3.4",},],
    "My Chain")

# Remove actions from some chain:
client.actionchains.removeActions("My Chain", ["Package Install", "Reboot"])

# Remove the whole chain
client.actionchains.removeChains(["My Chain"])


You may ask: Why no 10000010000 for system instead? Why no 23445323 instead
for a package? It is simple: you, as an admin in the datacenter, you have an
RPM database, and you can --queryformat it and AWK it the way that your
XML-RPC Python script will understand it right away.

Adding IDs is possible too, but mainly we looked to operate the packages and
systems at human-compatible way.

What you think?

-- 
Bo Maryniuk

SUSE LINUX Products GmbH, HRB 16746 (AG Nürnberg)
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer

I find television very educating. Every time somebody turns on the set, I go
into the other room and read a book.

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to