Bug #3297
Updated by Martin Bacovsky over 9 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 -v os update --id 1 --architecture-ids 1
</pre>
* associate OS with part table
* associate OS with install media
* associate OS with install provision and pxelinux templates
* create libvirt compute resource
* import puppet classes
* and finally create a bare metal host entry
* 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 -v os update --id 1 --architecture-ids 1
</pre>
* associate OS with part table
* associate OS with install media
* associate OS with install provision and pxelinux templates
* create libvirt compute resource
* import puppet classes
* and finally create a bare metal host entry