From 92050005199e8af1c6b6dcf0282b7a32d5ed2de0 Mon Sep 17 00:00:00 2001 From: James Slagle Date: Wed, 29 Apr 2015 16:18:20 -0400 Subject: [PATCH] Simplify satellite registration This simplifies satellite registration by making use of the provided resource registry from tripleo-heat-templates directly for rhel-registration, thus avoiding the need to reload everything into tuskar. Requires a tripleo-heat-templates that has this commit: https://review.openstack.org/#/c/172065/11 Change-Id: I45c2edda88f92c0b2df560e2febca1a7a476ee96 --- ...ud-resource-registry-puppet-satellite.yaml | 26 -------- scripts/instack-deploy-overcloud | 63 +++++++++---------- 2 files changed, 29 insertions(+), 60 deletions(-) delete mode 100644 heat-templates/overcloud-resource-registry-puppet-satellite.yaml diff --git a/heat-templates/overcloud-resource-registry-puppet-satellite.yaml b/heat-templates/overcloud-resource-registry-puppet-satellite.yaml deleted file mode 100644 index fe11dd873..000000000 --- a/heat-templates/overcloud-resource-registry-puppet-satellite.yaml +++ /dev/null @@ -1,26 +0,0 @@ -resource_registry: - OS::TripleO::BlockStorage: puppet/cinder-storage-puppet.yaml - OS::TripleO::BlockStorage::Net::SoftwareConfig: net-config-noop.yaml - OS::TripleO::Compute: puppet/compute-puppet.yaml - OS::TripleO::Compute::Net::SoftwareConfig: net-config-bridge.yaml - OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment - OS::TripleO::Controller: puppet/controller-puppet.yaml - OS::TripleO::Controller::Net::SoftwareConfig: net-config-bridge.yaml - OS::TripleO::ObjectStorage: puppet/swift-storage-puppet.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: net-config-noop.yaml - OS::TripleO::CephStorage: puppet/ceph-storage-puppet.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: net-config-noop.yaml - OS::TripleO::ControllerPostDeployment: puppet/controller-post-puppet.yaml - OS::TripleO::ComputePostDeployment: puppet/compute-post-puppet.yaml - OS::TripleO::ObjectStoragePostDeployment: puppet/swift-storage-post.yaml - OS::TripleO::BlockStoragePostDeployment: puppet/cinder-storage-post.yaml - OS::TripleO::CephStoragePostDeployment: puppet/ceph-storage-post-puppet.yaml - OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig: puppet/swift-devices-and-proxy-config.yaml - OS::TripleO::CephClusterConfig::SoftwareConfig: puppet/ceph-cluster-config.yaml - OS::TripleO::AllNodes::SoftwareConfig: puppet/all-nodes-config.yaml - OS::TripleO::BootstrapNode::SoftwareConfig: puppet/bootstrap-config.yaml - OS::TripleO::NodeUserData: firstboot/userdata_default.yaml - OS::TripleO::NodeExtraConfigPost: extraconfig/post_deploy/example_rhel_reg.yaml - -parameter_defaults: - EnablePackageInstall: false diff --git a/scripts/instack-deploy-overcloud b/scripts/instack-deploy-overcloud index 1eae49b95..b5c7c56f8 100755 --- a/scripts/instack-deploy-overcloud +++ b/scripts/instack-deploy-overcloud @@ -121,18 +121,35 @@ export REG_ORG=${REG_ORG:-"''"} export REG_FORCE=${REG_FORCE:-"1"} export REG_SAT_URL=${REG_SAT_URL:-"''"} export REG_METHOD=${REG_METHOD:-"''"} -# The modified resource registry must exist under -# /usr/share/openstack-tripleo-heat-templates for Tuskar's sake. -sudo cp /usr/share/instack-undercloud/heat-templates/overcloud-resource-registry-puppet-satellite.yaml \ - /usr/share/openstack-tripleo-heat-templates -if [ "$REG_METHOD" = "satellite" ]; then - export OVERCLOUD_RESOURCE_REGISTRY=${OVERCLOUD_RESOURCE_REGISTRY:-"/usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet-satellite.yaml"} -else - export OVERCLOUD_RESOURCE_REGISTRY=${OVERCLOUD_RESOURCE_REGISTRY:-"/usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml"} -fi - +export OVERCLOUD_RESOURCE_REGISTRY=${OVERCLOUD_RESOURCE_REGISTRY:-"/usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml"} NeutronControlPlaneID=$(neutron net-show ctlplane | grep ' id ' | awk '{print $4}') +# $OVERCLOUD_EXTRA is for passing any additional arbitrary options to heat +# stack-{create,update} +export OVERCLOUD_EXTRA=${OVERCLOUD_EXTRA:-""} + +if [ "$REG_METHOD" = "satellite" ]; then + + export OVERCLOUD_SATELLITE_ENV=${OVERCLOUD_SATELLITE_ENV:-overcloud-env-satellite.json} + if [ -f $OVERCLOUD_SATELLITE_ENV ]; then + SATELLITE_ENV_JSON=$(cat $OVERCLOUD_SATELLITE_ENV) + else + SATELLITE_ENV_JSON="{}" + fi + + SATELLITE_ENV_JSON=$(jq ".parameter_defaults.rhel_reg_activation_key = \"$REG_ACTIVATION_KEY\"" <<< $SATELLITE_ENV_JSON) + SATELLITE_ENV_JSON=$(jq ".parameter_defaults.rhel_reg_sat_url = \"$REG_SAT_URL\"" <<< $SATELLITE_ENV_JSON) + SATELLITE_ENV_JSON=$(jq ".parameter_defaults.rhel_reg_org = \"$REG_ORG\"" <<< $SATELLITE_ENV_JSON) + SATELLITE_ENV_JSON=$(jq ".parameter_defaults.rhel_reg_method = \"$REG_METHOD\"" <<< $SATELLITE_ENV_JSON) + SATELLITE_ENV_JSON=$(jq ".parameter_defaults.rhel_reg_force = \"$REG_FORCE\"" <<< $SATELLITE_ENV_JSON) + + echo $SATELLITE_ENV_JSON > $OVERCLOUD_SATELLITE_ENV + export OVERCLOUD_EXTRA="$OVERCLOUD_EXTRA -e /usr/share/openstack-tripleo-heat-templates/extraconfig/post_deploy/rhel-registration/rhel-registration-resource-registry.yaml" + export OVERCLOUD_EXTRA="$OVERCLOUD_EXTRA -e /usr/share/openstack-tripleo-heat-templates/extraconfig/post_deploy/rhel-registration/environment-rhel-registration.yaml" + export OVERCLOUD_EXTRA="$OVERCLOUD_EXTRA -e $OVERCLOUD_SATELLITE_ENV" + +fi + # NOTE(gfidente): Taken from # https://github.com/ceph/ceph-deploy/blob/master/ceph_deploy/new.py#L21 function create_cephx_key() { @@ -142,11 +159,6 @@ function create_cephx_key() { if [ -n "$TUSKAR" ]; then - # Reload the tuskar resource registry that includes the satellite - # registration resource. - export TUSKAR_RESOURCE_REGISTRY=$OVERCLOUD_RESOURCE_REGISTRY - sudo -E /usr/libexec/os-refresh-config/configure.d/90-tuskar-db-sync - PLAN_ID=$(tuskar plan-show overcloud | awk '$2=="uuid" {print $4}') if [ -n "$PLAN_ID" ]; then tuskar plan-delete $PLAN_ID @@ -304,21 +316,9 @@ if [ -n "$TUSKAR" ]; then OVERCLOUD_YAML_PATH="tuskar_templates/plan.yaml" ENVIRONMENT_YAML_PATH="tuskar_templates/environment.yaml" - if [ "$REG_METHOD" = "satellite" ]; then - mkdir -p tuskar_templates/extraconfig/post_deploy - cp -r /usr/share/openstack-tripleo-heat-templates/extraconfig/post_deploy/scripts tuskar_templates/extraconfig/post_deploy - - echo "parameter_defaults:" >> $ENVIRONMENT_YAML_PATH - echo " rhel_reg_activation_key: $REG_ACTIVATION_KEY" >> $ENVIRONMENT_YAML_PATH - echo " rhel_reg_sat_url: $REG_SAT_URL" >> $ENVIRONMENT_YAML_PATH - echo " rhel_reg_org: $REG_ORG" >> $ENVIRONMENT_YAML_PATH - echo " rhel_reg_method: $REG_METHOD" >> $ENVIRONMENT_YAML_PATH - echo " rhel_reg_force: $REG_FORCE" >> $ENVIRONMENT_YAML_PATH - - fi - heat $HEAT_OP -t $TIMEOUT -f $OVERCLOUD_YAML_PATH \ -e $ENVIRONMENT_YAML_PATH \ + $OVERCLOUD_EXTRA \ overcloud else @@ -414,12 +414,6 @@ else "ObjectStorageCount": '${SWIFTSTORAGESCALE}' }' <<< $ENV_JSON) - ENV_JSON=$(jq ".parameter_defaults.rhel_reg_activation_key = \"$REG_ACTIVATION_KEY\"" <<< $ENV_JSON) - ENV_JSON=$(jq ".parameter_defaults.rhel_reg_sat_url = \"$REG_SAT_URL\"" <<< $ENV_JSON) - ENV_JSON=$(jq ".parameter_defaults.rhel_reg_org = \"$REG_ORG\"" <<< $ENV_JSON) - ENV_JSON=$(jq ".parameter_defaults.rhel_reg_method = \"$REG_METHOD\"" <<< $ENV_JSON) - ENV_JSON=$(jq ".parameter_defaults.rhel_reg_force = \"$REG_FORCE\"" <<< $ENV_JSON) - jq . > "${HEAT_ENV}" <<< $ENV_JSON chmod 0600 "${HEAT_ENV}" @@ -433,6 +427,7 @@ else $RESOURCE_REGISTRY \ $OVERCLOUD_PARAMETERS \ $HEAT_ENVIRONMENT \ + $OVERCLOUD_EXTRA \ overcloud fi