[Spacewalk-list] pass extra args to api system.provisionVirtualGuest

Jan Hutař jhutar at redhat.com
Mon Aug 22 08:41:19 UTC 2016


On 2016-08-19 14:23 -0500, William H. ten Bensel wrote:
>   I would like to use the spacewalk api system.provisionVirtualGuest,
>   however I need the ability to pass extra args to the virt-install line
>   that spacewalk would create.  Is there any way to do this?  Am I
>   missing something obvious?
>   Reasons:
>           Do not use DHCP, PXE, etc.  static IP only.  So need to pass
>   the IP, gateway, netmask
>           I pass parameters on the line which in turn causes actions to
>   be taken in the %post section of the kickstart. (cat /proc/cmdline
>   during the building of the server)
>
>   Here is an example of the virt-install command that is ran currently.
>   virt-install --name=testing123 --ram=8192 --vcpus=4
>   --mac=aa:bb:cc:dd:ee:ff
>   --location=http://myspacewalk/ks/dist/org/z/distro --disk
>   path=/dev/myvolumegroup/testing123_lv --bridge=bridge##
>   --extra-args="ks=http://myspacewalk/ks/cfg/org/z/label/mykickstart
>   noipv6 noselinux serial console=tty0 console=ttyS0,115200
>   ip=xx.yy.zz.aa gateway=xx.yy.zz.aa netmask=xx.yy.zz.aa dns=dns1
>   hostname=testing123 hyper=myhyper flag1=yes flag2=yes   "
>   --os-type=linux --os-variant=rhel6 --arch=x86_64 --accelerate
>   --noautoconsole --nographics
>   - Thanks in advance

Hello,
in theory you can set "network" kickstart advanced param:

  https://github.com/rhinstaller/pykickstart/blob/master/docs/kickstart-docs.rst#network
  https://<spacewalk>/rhn/apidoc/handlers/ProfileHandler.jsp#setAdvancedOptions

for static configuration, but that would require you to have one KS
profile per VM, which is probably not what you want. Another option
would be to create a %post script which would configure network as per
your installer/Anaconda time network configuration:

  https://<spacewalk>/rhn/apidoc/handlers/ProfileHandler.jsp#addScript

Script ittself would construct file like below:

  https://docs.fedoraproject.org/en-US/Fedora/13/html/Deployment_Guide/s1-networkscripts-interfaces.html

based on what %post script gets from its environment:

  hostname --ip-address
  route -n
  ...

And also you have to somehow configure network for installer. You can
do it via kernel parameters in webUI Systems -> <system> -> Provisioning
-> Kickstart -> Schedule -> Advanced Kickstart Configuration -> Kernel
Options but I have not found a way how to configure it via API (both for
KS and for provisioning).

  https://rhinstaller.github.io/anaconda/boot-options.html#network-options

I would create a Spacewalk BZ for that:

  https://bugzilla.redhat.com/enter_bug.cgi?product=Spacewalk

Regards,
Jan



-- 
Jan Hutar     Systems Management QA
jhutar at redhat.com     Red Hat, Inc.




More information about the Spacewalk-list mailing list