# Associate existing OSes to provisioning templates for template in "Kickstart default PXELinux" "Satellite Kickstart Default"; do for idx in $(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv os list | cut -d ',' -f1 | grep -vi "^id"); do hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" template add-operatingsystem --name="${template}" --operatingsystem-id=${idx}; done; done # Associate partition table to all OSes for idx in $(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv os list | cut -d ',' -f1 | grep -vi "^id"); do hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" os add-ptable --id=${idx} --partition-table="Kickstart default"; done export KICKSTART_PXE=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv template info --name="Kickstart default PXELinux" | cut -d ',' -f1 | grep -vi '^id') export KICKSTART_SAT=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv template info --name="Satellite Kickstart Default" | cut -d ',' -f1 | grep -vi '^id') # Set provisioning templates as default for every OS for idx in $(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv os list | cut -d ',' -f1 | grep -vi "^id"); do for template in ${KICKSTART_PXE} ${KICKSTART_SAT}; do hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" os set-default-template --id=${idx} --config-template-id=${template}; done; done ## Get puppet environment IDs export RHEL_5_SERVER_32_ENV=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv environment list --organization="${ORG}" --search='name~"DEV_rhel_5_server_i386_cv"' | cut -d ',' -f1 | grep -vi "^id") export RHEL_5_SERVER_64_ENV=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv environment list --organization="${ORG}" --search='name~"DEV_rhel_5_server_x86_64_cv"' | cut -d ',' -f1 | grep -vi "^id") export RHEL_6_SERVER_32_ENV=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv environment list --organization="${ORG}" --search='name~"DEV_rhel_6_server_i386_cv"' | cut -d ',' -f1 | grep -vi "^id") export RHEL_6_SERVER_64_ENV=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv environment list --organization="${ORG}" --search='name~"DEV_rhel_6_server_x86_64_cv"' | cut -d ',' -f1 | grep -vi "^id") export RHEL_7_SERVER_64_ENV=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv environment list --organization="${ORG}" --search='name~"DEV_rhel_7_server_x86_64_cv"' | cut -d ',' -f1 | grep -vi "^id") ## Get medium names export RHEL_5_SERVER_32_MEDIUM=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv medium list --search='name~"Linux_5_Server_Kickstart_i386"' | cut -d ',' -f 2 | grep -vi 'name') export RHEL_5_SERVER_64_MEDIUM=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv medium list --search='name~"Linux_5_Server_Kickstart_x86_64"' | cut -d ',' -f 2 | grep -vi 'name') export RHEL_6_SERVER_32_MEDIUM=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv medium list --search='name~"Linux_6_Server_Kickstart_i386"' | cut -d ',' -f 2 | grep -vi 'name') export RHEL_6_SERVER_64_MEDIUM=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv medium list --search='name~"Linux_6_Server_Kickstart_x86_64"' | cut -d ',' -f 2 | grep -vi 'name') export RHEL_7_SERVER_64_MEDIUM=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv medium list --search='name~"Linux_7_Server_Kickstart_x86_64"' | cut -d ',' -f 2 | grep -vi 'name') ## Get the OS ID export RHEL5_OS_ID=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv os list | grep "${RHEL5}" | cut -d ',' -f1 | grep -vi "^id") echo "RHEL 5 OS ID: ${RHEL5_OS_ID}" export RHEL6_OS_ID=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv os list | grep "${RHEL6}" | cut -d ',' -f1 | grep -vi "^id") echo "RHEL 6 OS ID: ${RHEL6_OS_ID}" export RHEL7_OS_ID=$(hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" --csv os list | grep "${RHEL7}" | cut -d ',' -f1 | grep -vi "^id") echo "RHEL 7 OS ID: ${RHEL7_OS_ID}" # Create host groups ## You will have to manually set the password and, if desired, compute profile since hammer won't let you ## No RHAI puppet module for RHEL 5 or 32-bit arches hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup create --name='RHEL 5 Server 32-bit HG' --content-view='rhel-5-server-i386-cv' --environment-id=${RHEL_5_SERVER_32_ENV} --lifecycle-environment='DEV' --content-source-id=${CAPSULE_ID} --puppet-proxy=$(hostname) --puppet-ca-proxy=$(hostname) --organizations="${ORG}" --domain-id=${DOMAIN_ID} --subnet='libvirt_subnet' --architecture='i386' --operatingsystem-id="${RHEL5_OS_ID}" --medium=${RHEL_5_SERVER_32_MEDIUM} --partition-table='Kickstart default' --locations="${LOCATION}" hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup set-parameter --hostgroup='RHEL 5 Server 32-bit HG' --name='kt_activation_keys' --value='ak-rhel-5-server-i386-cv' hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup create --name='RHEL 5 Server 64-bit HG' --content-view='rhel-5-server-x86_64-cv' --environment-id=${RHEL_5_SERVER_64_ENV} --lifecycle-environment='DEV' --content-source-id=${CAPSULE_ID} --puppet-proxy=$(hostname) --puppet-ca-proxy=$(hostname) --organizations="${ORG}" --domain-id=${DOMAIN_ID} --subnet='libvirt_subnet' --architecture='x86_64' --operatingsystem-id="${RHEL5_OS_ID}" --medium=${RHEL_5_SERVER_64_MEDIUM} --partition-table='Kickstart default' --locations="${LOCATION}" hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup set-parameter --hostgroup='RHEL 5 Server 64-bit HG' --name='kt_activation_keys' --value='ak-rhel-5-server-x86_64-cv' hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup create --name='RHEL 6 Server 32-bit HG' --content-view='rhel-6-server-i386-cv' --environment-id=${RHEL_6_SERVER_32_ENV} --lifecycle-environment='DEV' --content-source-id=${CAPSULE_ID} --puppet-proxy=$(hostname) --puppet-ca-proxy=$(hostname) --organizations="${ORG}" --domain-id=${DOMAIN_ID} --subnet='libvirt_subnet' --architecture='i386' --operatingsystem-id="${RHEL6_OS_ID}" --medium=${RHEL_6_SERVER_32_MEDIUM} --partition-table='Kickstart default' --locations="${LOCATION}" hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup set-parameter --hostgroup='RHEL 6 Server 32-bit HG' --name='kt_activation_keys' --value='ak-rhel-6-server-i386-cv' hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup create --name='RHEL 6 Server 64-bit HG' --content-view='rhel-6-server-x86_64-cv' --environment-id=${RHEL_6_SERVER_64_ENV} --lifecycle-environment='DEV' --content-source-id=${CAPSULE_ID} --puppet-proxy=$(hostname) --puppet-ca-proxy=$(hostname) --organizations="${ORG}" --puppet-classes='access_insights_client' --domain-id=${DOMAIN_ID} --subnet='libvirt_subnet' --architecture='x86_64' --operatingsystem-id="${RHEL6_OS_ID}" --medium=${RHEL_6_SERVER_64_MEDIUM} --partition-table='Kickstart default' --locations="${LOCATION}" hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup set-parameter --hostgroup='RHEL 6 Server 64-bit HG' --name='kt_activation_keys' --value='ak-rhel-6-server-x86_64-cv' hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup create --name='RHEL 7 Server 64-bit HG' --content-view='rhel-7-server-x86_64-cv' --environment-id=${RHEL_7_SERVER_64_ENV} --lifecycle-environment='DEV' --content-source-id=${CAPSULE_ID} --puppet-proxy=$(hostname) --puppet-ca-proxy=$(hostname) --organizations="${ORG}" --puppet-classes='access_insights_client' --domain-id=${DOMAIN_ID} --subnet='libvirt_subnet' --architecture='x86_64' --operatingsystem-id="${RHEL7_OS_ID}" --medium=${RHEL_7_SERVER_64_MEDIUM} --partition-table='Kickstart default' --locations="${LOCATION}" hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" hostgroup set-parameter --hostgroup='RHEL 7 Server 64-bit HG' --name='kt_activation_keys' --value='ak-rhel-7-server-x86_64-cv'