Last active
January 19, 2020 16:31
-
-
Save hbokh/012469d71d838cb0ff2de89e25a20fe4 to your computer and use it in GitHub Desktop.
Some Cobbler 3 scripts to quickly test XMLRPC. Install on the Cobbler host, login config: cobbler/cobbler.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
""" | |
Copyright 2007-2009, Red Hat, Inc and Others | |
Michael DeHaan <michael.dehaan AT gmail> | |
This program is free software; you can redistribute it and/or modify | |
it under the terms of the GNU General Public License as published by | |
the Free Software Foundation; either version 2 of the License, or | |
(at your option) any later version. | |
This program is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
GNU General Public License for more details. | |
You should have received a copy of the GNU General Public License | |
along with this program; if not, write to the Free Software | |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | |
02110-1301 USA | |
""" | |
from xmlrpc.client import ServerProxy | |
import optparse | |
if __name__ == "__main__": | |
p = optparse.OptionParser() | |
p.add_option("-u","--user",dest="user",default="cobbler") | |
p.add_option("-p","--pass",dest="password",default="cobbler") | |
# NOTE: if you've changed your xmlrpc_rw port or | |
# disabled xmlrpc_rw this test probably won't work | |
sp = ServerProxy("http://127.0.0.1:25151") | |
(options, args) = p.parse_args() | |
print(("- trying to login with user=%s" % options.user)) | |
token = sp.login(options.user,options.password) | |
print(("- token: %s" % token)) | |
print("- authenticated ok, now seeing if user is authorized") | |
check = sp.check_access(token,"imaginary_method_name") | |
print(("- access ok? %s" % check)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
import xmlrpc.client | |
remote = xmlrpc.client.Server("http://127.0.0.1/cobbler_api") | |
token = remote.login("cobbler","cobbler") | |
# make sure "/opt/stuff/" exists and has "vmlinuz" and "initrd.img". Files can be empty. | |
distro_id = remote.new_distro(token) | |
remote.modify_distro(distro_id, 'name', 'example-distro',token) | |
remote.modify_distro(distro_id, 'kernel', '/opt/stuff/vmlinuz',token) | |
remote.modify_distro(distro_id, 'initrd', '/opt/stuff/initrd.img',token) | |
remote.save_distro(distro_id,token) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
import xmlrpc.client | |
remote = xmlrpc.client.Server("http://127.0.0.1/cobbler_api") | |
token = remote.login("cobbler","cobbler") | |
# Cobbler 3 | |
remote.read_autoinstall_snippet("some-snippet",token) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
import xmlrpc.client | |
remote = xmlrpc.client.Server("http://127.0.0.1/cobbler_api") | |
token = remote.login("cobbler","cobbler") | |
# Cobbler 3 | |
remote.read_autoinstall_template("foo.ks",token) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
import xmlrpclib | |
remote = xmlrpclib.Server("http://127.0.0.1/cobbler_api") | |
token = remote.login("cobbler","cobbler") | |
new_contents_as_a_string = "Testing" | |
# Cobbler 2 - pick one: | |
#remote.read_or_write_kickstart_template("/var/lib/cobbler/templates/foo.ks",False,new_contents_as_a_string,token) | |
remote.read_or_write_kickstart_template("/var/lib/cobbler/templates/foo.ks",True,new_contents_as_a_string,token) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
import xmlrpc.client | |
remote = xmlrpc.client.Server("http://127.0.0.1/cobbler_api") | |
token = remote.login("cobbler","cobbler") | |
# Cobbler 3 | |
remote.remove_autoinstall_template("foo.ks",token) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
import xmlrpc.client | |
remote = xmlrpc.client.Server("http://127.0.0.1/cobbler_api") | |
token = remote.login("cobbler","cobbler") | |
# Cobbler 3 | |
remote.write_autoinstall_snippet("some-snippet","some content\n",token) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
import xmlrpc.client | |
remote = xmlrpc.client.Server("http://127.0.0.1/cobbler_api") | |
token = remote.login("cobbler","cobbler") | |
# Cobbler 3 | |
remote.write_autoinstall_template("foo.ks","some content\n",token) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment