{% load i18n %} {% load url from future%} {% if overcloud.is_deploying or overcloud.is_failed %} {% if overcloud.is_deploying %}
Deploying...
{% else %}
Deployment failed
{% endif %}
{% if last_failed_events %} {% trans "Last failed events:" %} {% for event in last_failed_events %}
{% trans "Timestamp" %}
{% trans "Resource Name" %}
{{ event.resource_name }}
{% trans "Status" %}
{{ event.resource_status }}
{% trans "Reason" %}
{{ event.resource_status_reason }}
{% endfor %} {% endif %} See full log
{% endif %} {% if not dashboard_urls and not overcloud.is_deploying and not overcloud.is_failed %}
{% blocktrans %} Your cloud is now deployed; however, it needs to be initialized. To do so, copy the appropriate script into a file, make it executable, and run it. {% endblocktrans %}
  • {% blocktrans %} Devtest cloud initialization script {% endblocktrans %}
    #!/usr/bin/bash
    
    # You need to run the following commands from a machine where you have a checkout of the tripleo source code
    # and direct access via SSH to your Overcloud control node ({{overcloud.keystone_ip}}).
    
    set -eux
    
    export TRIPLEO_ROOT=~/tripleo
    cd $TRIPLEO_ROOT
    
    # Be careful to source tripleorc here, some variables are rewritten below
    source $TRIPLEO_ROOT/tripleorc
    
    export OVERCLOUD_IP={{overcloud.keystone_ip}}
    
    export OVERCLOUD_ADMIN_TOKEN={{overcloud.attributes.AdminToken}}
    export OVERCLOUD_ADMIN_PASSWORD={{overcloud.attributes.AdminPassword}}
    export OVERCLOUD_CINDER_PASSWORD={{overcloud.attributes.CinderPassword}}
    export OVERCLOUD_GLANCE_PASSWORD={{overcloud.attributes.GlancePassword}}
    export OVERCLOUD_HEAT_PASSWORD={{overcloud.attributes.HeatPassword}}
    export OVERCLOUD_NEUTRON_PASSWORD={{overcloud.attributes.NeutronPassword}}
    export OVERCLOUD_NOVA_PASSWORD={{overcloud.attributes.NovaPassword}}
    export OVERCLOUD_SWIFT_PASSWORD={{overcloud.attributes.SwiftPassword}}
    export OVERCLOUD_SWIFT_HASH={{overcloud.attributes.SwiftHashSuffix}}
    
    OVERCLOUD_ENDPOINT="http://$OVERCLOUD_IP:5000/v2.0"
    NEW_JSON=$(jq '.overcloud.password="'${OVERCLOUD_ADMIN_PASSWORD}'" | .overcloud.endpoint="'${OVERCLOUD_ENDPOINT}'" | .overcloud.endpointhost="'${OVERCLOUD_IP}'"' $TE_DATAFILE)
    echo $NEW_JSON > $TE_DATAFILE
    
    source ./tripleo-incubator/overcloudrc
    
    init-keystone -p $OVERCLOUD_ADMIN_PASSWORD $OVERCLOUD_ADMIN_TOKEN \
        $OVERCLOUD_IP admin@example.com heat-admin@$OVERCLOUD_IP \
        ${SSLBASE:+--ssl $PUBLIC_API_URL}
    setup-endpoints $OVERCLOUD_IP --cinder-password $OVERCLOUD_CINDER_PASSWORD \
        --glance-password $OVERCLOUD_GLANCE_PASSWORD \
        --heat-password $OVERCLOUD_HEAT_PASSWORD \
        --neutron-password $OVERCLOUD_NEUTRON_PASSWORD \
        --nova-password $OVERCLOUD_NOVA_PASSWORD \
        --swift-password $OVERCLOUD_SWIFT_PASSWORD \
        --enable-horizon \
        ${SSLBASE:+--ssl $PUBLIC_API_URL}
    keystone role-create --name heat_stack_user
              
  • {% blocktrans %} Instack cloud initialization script {% endblocktrans %}
    #!/usr/bin/bash
    
    set -eux
    
    # You need to run the following commands from a Undercloud node where you have
    # direct access via SSH to your Overcloud control node ({{overcloud.keystone_ip}}).
    
    # Run these commands as the user you used to install the undercloud, likely the stack
    # user if you followed the recommendations from http://openstack.redhat.com/Deploying_RDO_using_Instack.
    # The commands should also be run from the home directory of that user.
    
    # Source your deploy-overcloudrc
    # This file was created when you followed http://openstack.redhat.com/Deploying_an_RDO_Overcloud_with_Instack
    source deploy-overcloudrc
    
    export OVERCLOUD_IP={{overcloud.keystone_ip}}
    
    cat > tripleo-overcloud-passwords <<EOF
    export OVERCLOUD_ADMIN_TOKEN={{overcloud.attributes.AdminToken}}
    export OVERCLOUD_ADMIN_PASSWORD={{overcloud.attributes.AdminPassword}}
    export OVERCLOUD_CINDER_PASSWORD={{overcloud.attributes.CinderPassword}}
    export OVERCLOUD_GLANCE_PASSWORD={{overcloud.attributes.GlancePassword}}
    export OVERCLOUD_HEAT_PASSWORD={{overcloud.attributes.HeatPassword}}
    export OVERCLOUD_NEUTRON_PASSWORD={{overcloud.attributes.NeutronPassword}}
    export OVERCLOUD_NOVA_PASSWORD={{overcloud.attributes.NovaPassword}}
    export OVERCLOUD_SWIFT_PASSWORD={{overcloud.attributes.SwiftPassword}}
    export OVERCLOUD_SWIFT_HASH={{overcloud.attributes.SwiftHashSuffix}}
    EOF
    
    source tripleo-overcloud-passwords
    
    JSONFILE=nodes.json
    if [ ! -f $JSONFILE ]; then
      echo '{}' > $JSONFILE
    fi
    OVERCLOUD_ENDPOINT="http://{{overcloud.keystone_ip}}:5000/v2.0"
    NEW_JSON=$(jq '.overcloud.password="'{{overcloud.attributes.AdminPassword}}'" | .overcloud.endpoint="'${OVERCLOUD_ENDPOINT}'" | .overcloud.endpointhost="'{{overcloud.keystone_ip}}'"' $JSONFILE)
    echo $NEW_JSON > $JSONFILE
    export TE_DATAFILE=$JSONFILE
    
    source /etc/tripleo/overcloudrc
    
    tripleo init-keystone -p $OVERCLOUD_ADMIN_PASSWORD $OVERCLOUD_ADMIN_TOKEN \
        $OVERCLOUD_IP admin@example.com heat-admin@$OVERCLOUD_IP
    tripleo setup-endpoints $OVERCLOUD_IP --cinder-password $OVERCLOUD_CINDER_PASSWORD \
        --glance-password $OVERCLOUD_GLANCE_PASSWORD \
        --heat-password $OVERCLOUD_HEAT_PASSWORD \
        --neutron-password $OVERCLOUD_NEUTRON_PASSWORD \
        --nova-password $OVERCLOUD_NOVA_PASSWORD \
        --swift-password $OVERCLOUD_SWIFT_PASSWORD \
        --enable-horizon
    keystone role-create --name heat_stack_user
    
    # Setup the neutron
    tripleo setup-neutron "" "" $NETWORK_CIDR "" "" "" $FLOATING_IP_START $FLOATING_IP_END $FLOATING_IP_CIDR
    
    # Workaround https://bugs.launchpad.net/diskimage-builder/+bug/1211165
    nova flavor-delete m1.tiny
    nova flavor-create m1.tiny 1 512 2 1
              

{% blocktrans %} For more information, see our documentation . We are working on improving your experience here. {% endblocktrans %}

{% endif %}

{% trans "Deployment Roles" %}

{% for role in roles %} {% endfor %}
{{ role.name }} ({{ role.total_node_count }}) {% if not role.total_node_count %}
{% trans "No node" %}
{% else %} {% if role.error_node_count %}
{% elif role.deploying_node_count or role.waiting_node_count %}
{% else %}
{% endif %} {% if role.total_node_count == role.deployed_node_count %} {% trans "All nodes are running" %} {% else %} {{ role.deployed_node_count }} {% trans "deployed" %} / {{ role.deploying_node_count }} {% trans "deploying" %} / {{ role.waiting_node_count }} {% trans "waiting" %} {% if role.error_node_count %} / {{ role.error_node_count }} {% trans "error" %} {% endif %} {% endif %}
{% endif %}
{% if role.capacity %}

{{ role.capacity }}%

{% endif %}

{% trans "Deployment Role Distribution" %}

{% trans "Horizon UI Connection" %}

{% if dashboard_urls %} {% for dashboard_url in dashboard_urls %}

{% trans "Horizon UI" %} ({{ dashboard_url }}).

{% endfor %} {% else %} {% trans "You need to initialize your OpenStack Deployment first." %} {% endif %}