Project

General

Profile

Bug #3297

Updated by Dominic Cleal about 5 years ago

The goal is to provision bare metal host on a clean install of Foreman. The following steps are necessary:

* create smart proxy
<pre>
hammer proxy create --name myproxy --url https://proxy.my.net:8443
</pre>
* create architecture
<pre>
hammer architecture create --name x86_64
</pre>
* create new subnet
<pre>
hammer subnet create --name "My Net" --network "192.168.122.0" --mask "255.255.255.0" --gateway "192.168.122.1" --dns-primary "192.168.122.1"
</pre>
* import existing subnet from a proxy
missing, see #3355
* create new domain
<pre>
hammer domain create --name "my.net" --fullname "My network"
</pre>
* associate domain with proxy
<pre>
hammer domain update --id 1 --dns-id 1
</pre>
* associate subnet with domain
<pre>
hammer subnet update --id 1 --domain-ids 1
</pre>
* associate subnet with proxy (DHCP, TFTP, DNS)
<pre>
hammer subnet update --id 1 --dhcp-id 1 --tftp-id 1 --dns-id 1
</pre>
* create new partition table
<pre>
hammer partition_table create --name "Redhat test" --file /tmp/rh_test.txt
</pre>
* create new OS
<pre>
hammer os create --name RHEL --major 6 --minor 4
</pre>
--family does not work yet - PR https://github.com/theforeman/foreman/pull/777
* create new template
<pre>
hammer template create --name "kickstart mynet" --type provision --file /tmp/ks.txt
</pre>
* edit existing pre-defined template
<pre>
hammer template dump --id 4 > /tmp/ks.txt
vim /tmp/ks.txt
hammer template update --id 4 --file /tmp/ks.txt
</pre>
* associate applicable OS with pre-defined template
<pre>
hammer template update --id 1 --operatingsystem-ids 1
</pre>
Confirmed through the UI, but listing of templates does not work. Version on GH has listing fixed, but listing associated OS's is still missing - see #3360
* associate OS with architecture
<pre>
hammer os update --id 1 --architecture-ids 1
</pre>
* associate OS with part table
<pre>
hammer os update --id 1 --ptable-ids 1
</pre>
* associate OS with install media
<pre>
hammer os update --id 1 --medium-ids 1
</pre>
* associate OS with install provision and pxelinux templates
Added to API in #3928, Hammer feature is #3970 #4540
* create libvirt compute resource
<pre>
hammer compute_resource create --name libvirt --url "qemu:///system" --provider Libvirt
</pre>
* import puppet classes
missing - see #3035
* and finally create a host
<pre>
hammer -v host create --name "clitest.mynet.com" --ip "192.168.122.5" --host-group-id 1 --compute-resource-id 1 --interface "type=network,model=virtio,network=default" --volume "capacite=10G" --compute-attributes "start=true"
</pre>

creates host in my case on Libvirt with NAT and 10GB storage
related issues - #3063

Back