Replace the_service_id_above with shell script

To create an endpoint, user should copy the command to text editor,
then copy the service id and replace the literal named
the_service_id_above with the real id, then copy the whole command to
shell and execute it.

It is not so convenient, so I add a short shell script to reduce this
labor work.

Change-Id: I4992b76e574536224896562b3599e514881c9f76
Closes-Bug: #1271637
This commit is contained in:
ZhiQiang Fan 2014-01-23 01:20:47 +08:00 committed by ZhiQiang Fan
parent 9a330eb0c2
commit 4b4a101774
8 changed files with 27 additions and 55 deletions

View File

@ -84,8 +84,6 @@
| Property | Value | | Property | Value |
+-------------+----------------------------------+ +-------------+----------------------------------+
| description | Object Storage Service | | description | Object Storage Service |
| | |
| | |
| id | eede9296683e4b5ebfa13f5166375ef6 | | id | eede9296683e4b5ebfa13f5166375ef6 |
| name | swift | | name | swift |
| type | object-store | | type | object-store |
@ -100,7 +98,7 @@
In this guide, the <literal>controller</literal> host name is In this guide, the <literal>controller</literal> host name is
used.</para> used.</para>
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \ <screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \ --service-id=$(keystone service-list | awk '/ object-store / {print $2}') \
--publicurl='http://<replaceable>controller</replaceable>:8080/v1/AUTH_%(tenant_id)s' \ --publicurl='http://<replaceable>controller</replaceable>:8080/v1/AUTH_%(tenant_id)s' \
--internalurl='http://<replaceable>controller</replaceable>:8080/v1/AUTH_%(tenant_id)s' \ --internalurl='http://<replaceable>controller</replaceable>:8080/v1/AUTH_%(tenant_id)s' \
--adminurl=http://<replaceable>controller</replaceable>:8080</userinput> --adminurl=http://<replaceable>controller</replaceable>:8080</userinput>

View File

@ -207,13 +207,9 @@ os_password = <replaceable>CEILOMETER_PASS</replaceable></programlisting>
<command>keystone</command> command to register the service <command>keystone</command> command to register the service
and specify the endpoint:</para> and specify the endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone service-create --name=ceilometer --type=metering \ <screen><prompt>#</prompt> <userinput>keystone service-create --name=ceilometer --type=metering \
--description="Ceilometer Telemetry Service"</userinput></screen> --description="Ceilometer Telemetry Service"</userinput>
</step> <prompt>#</prompt> <userinput>keystone endpoint-create \
<step os="rhel;centos;fedora;opensuse;sles;ubuntu"> --service-id=$(keystone service-list | awk '/ metering / {print $2}') \
<para>Note the <literal>id</literal> property that is returned
for the service. Use it when you create the endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \
--publicurl=http://<replaceable>controller</replaceable>:8777 \ --publicurl=http://<replaceable>controller</replaceable>:8777 \
--internalurl=http://<replaceable>controller</replaceable>:8777 \ --internalurl=http://<replaceable>controller</replaceable>:8777 \
--adminurl=http://<replaceable>controller</replaceable>:8777</userinput></screen> --adminurl=http://<replaceable>controller</replaceable>:8777</userinput></screen>

View File

@ -136,11 +136,9 @@ rabbit_password = <replaceable>RABBIT_PASS</replaceable></programlisting>
Register the service and specify the endpoint using the Register the service and specify the endpoint using the
<command>keystone</command> command.</para> <command>keystone</command> command.</para>
<screen><prompt>#</prompt> <userinput>keystone service-create --name=cinder --type=volume \ <screen><prompt>#</prompt> <userinput>keystone service-create --name=cinder --type=volume \
--description="Cinder Volume Service"</userinput></screen> --description="Cinder Volume Service"</userinput>
<para>Note the <literal>id</literal> property returned and use <prompt>#</prompt> <userinput>keystone endpoint-create \
it to create the endpoint.</para> --service-id=$(keystone service-list | awk '/ volume / {print $2}') \
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \
--publicurl=http://<replaceable>controller</replaceable>:8776/v1/%\(tenant_id\)s \ --publicurl=http://<replaceable>controller</replaceable>:8776/v1/%\(tenant_id\)s \
--internalurl=http://<replaceable>controller</replaceable>:8776/v1/%\(tenant_id\)s \ --internalurl=http://<replaceable>controller</replaceable>:8776/v1/%\(tenant_id\)s \
--adminurl=http://<replaceable>controller</replaceable>:8776/v1/%\(tenant_id\)s</userinput></screen> --adminurl=http://<replaceable>controller</replaceable>:8776/v1/%\(tenant_id\)s</userinput></screen>
@ -149,11 +147,9 @@ rabbit_password = <replaceable>RABBIT_PASS</replaceable></programlisting>
<para>Also register a service and endpoint for version 2 of the <para>Also register a service and endpoint for version 2 of the
Block Storage Service API.</para> Block Storage Service API.</para>
<screen><prompt>#</prompt> <userinput>keystone service-create --name=cinderv2 --type=volumev2 \ <screen><prompt>#</prompt> <userinput>keystone service-create --name=cinderv2 --type=volumev2 \
--description="Cinder Volume Service V2"</userinput></screen> --description="Cinder Volume Service V2"</userinput>
<para>Note the <literal>id</literal> property returned and use <prompt>#</prompt> <userinput>keystone endpoint-create \
it to create the endpoint.</para> --service-id=$(keystone service-list | awk '/ volumev2 / {print $2}') \
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \
--publicurl=http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \ --publicurl=http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \
--internalurl=http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \ --internalurl=http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \
--adminurl=http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s</userinput></screen> --adminurl=http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s</userinput></screen>

View File

@ -168,13 +168,9 @@ flavor=keystone</programlisting>
that other OpenStack services can locate it. Register the that other OpenStack services can locate it. Register the
service and create the endpoint:</para> service and create the endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone service-create --name=glance --type=image \ <screen><prompt>#</prompt> <userinput>keystone service-create --name=glance --type=image \
--description="Glance Image Service"</userinput></screen> --description="Glance Image Service"</userinput>
</step> <prompt>#</prompt> <userinput>keystone endpoint-create \
<step os="rhel;centos;fedora;opensuse;sles;ubuntu"> --service-id=$(keystone service-list | awk '/ image / {print $2}') \
<para>Use the <literal>id</literal> property returned for the
service to create the endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \
--publicurl=http://<replaceable>controller</replaceable>:9292 \ --publicurl=http://<replaceable>controller</replaceable>:9292 \
--internalurl=http://<replaceable>controller</replaceable>:9292 \ --internalurl=http://<replaceable>controller</replaceable>:9292 \
--adminurl=http://<replaceable>controller</replaceable>:9292</userinput></screen> --adminurl=http://<replaceable>controller</replaceable>:9292</userinput></screen>

View File

@ -124,24 +124,16 @@ keystone_ec2_uri = http://<replaceable>controller</replaceable>:5000/v2.0/ec2tok
these APIs. Register the service and specify the these APIs. Register the service and specify the
endpoint:</para> endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone service-create --name=heat --type=orchestration \ <screen><prompt>#</prompt> <userinput>keystone service-create --name=heat --type=orchestration \
--description="Heat Orchestration API"</userinput></screen> --description="Heat Orchestration API"</userinput>
</step> <prompt>#</prompt> <userinput>keystone endpoint-create \
<step> --service-id=$(keystone service-list | awk '/ orchestration / {print $2}') \
<para>Use the <literal>id</literal> property that is returned
for the service to create the endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \
--publicurl=http://<replaceable>controller</replaceable>:8004/v1/%\(tenant_id\)s \ --publicurl=http://<replaceable>controller</replaceable>:8004/v1/%\(tenant_id\)s \
--internalurl=http://<replaceable>controller</replaceable>:8004/v1/%\(tenant_id\)s \ --internalurl=http://<replaceable>controller</replaceable>:8004/v1/%\(tenant_id\)s \
--adminurl=http://<replaceable>controller</replaceable>:8004/v1/%\(tenant_id\)s</userinput></screen> --adminurl=http://<replaceable>controller</replaceable>:8004/v1/%\(tenant_id\)s</userinput>
<screen><prompt>#</prompt> <userinput>keystone service-create --name=heat-cfn --type=cloudformation \ <prompt>#</prompt> <userinput>keystone service-create --name=heat-cfn --type=cloudformation \
--description="Heat CloudFormation API"</userinput></screen> --description="Heat CloudFormation API"</userinput>
</step> <prompt>#</prompt> <userinput>keystone endpoint-create \
<step> --service-id=$(keystone service-list | awk '/ cloudformation / {print $2}') \
<para>Use the <literal>id</literal> property that is returned
for the service to create the endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \
--publicurl=http://<replaceable>controller</replaceable>:8000/v1 \ --publicurl=http://<replaceable>controller</replaceable>:8000/v1 \
--internalurl=http://<replaceable>controller</replaceable>:8000/v1 \ --internalurl=http://<replaceable>controller</replaceable>:8000/v1 \
--adminurl=http://<replaceable>controller</replaceable>:8000/v1</userinput></screen> --adminurl=http://<replaceable>controller</replaceable>:8000/v1</userinput></screen>

View File

@ -42,7 +42,7 @@
<literal>controller</literal> host name is used. Note that the <literal>controller</literal> host name is used. Note that the
Identity Service uses a different port for the admin API.</para> Identity Service uses a different port for the admin API.</para>
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \ <screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \ --service-id=$(keystone service-list | awk '/ identity / {print $2}') \
--publicurl=http://<replaceable>controller</replaceable>:5000/v2.0 \ --publicurl=http://<replaceable>controller</replaceable>:5000/v2.0 \
--internalurl=http://<replaceable>controller</replaceable>:5000/v2.0 \ --internalurl=http://<replaceable>controller</replaceable>:5000/v2.0 \
--adminurl=http://<replaceable>controller</replaceable>:35357/v2.0</userinput> --adminurl=http://<replaceable>controller</replaceable>:35357/v2.0</userinput>

View File

@ -152,11 +152,9 @@ IDENTIFIED BY '<replaceable>NEUTRON_DBPASS</replaceable>';</userinput></screen>
<para>Create the neutron service:</para> <para>Create the neutron service:</para>
<screen><prompt>#</prompt> <userinput>keystone service-create --name=neutron --type=network \ <screen><prompt>#</prompt> <userinput>keystone service-create --name=neutron --type=network \
--description="OpenStack Networking Service"</userinput></screen> --description="OpenStack Networking Service"</userinput></screen>
<para>Create a Networking endpoint. Use the <para>Create a Networking endpoint:</para>
<literal>id</literal> property for the service that was
returned in the previous step to create the endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \ <screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id <replaceable>the_service_id_above</replaceable> \ --service-id $(keystone service-list | awk '/ network / {print $2}') \
--publicurl http://<replaceable>controller</replaceable>:9696 \ --publicurl http://<replaceable>controller</replaceable>:9696 \
--adminurl http://<replaceable>controller</replaceable>:9696 \ --adminurl http://<replaceable>controller</replaceable>:9696 \
--internalurl http://<replaceable>controller</replaceable>:9696</userinput></screen> --internalurl http://<replaceable>controller</replaceable>:9696</userinput></screen>

View File

@ -211,13 +211,9 @@ admin_password = <replaceable>NOVA_PASS</replaceable></programlisting>
service and specify the endpoint:</para> service and specify the endpoint:</para>
<screen><prompt>#</prompt> <userinput>keystone service-create --name=nova --type=compute \ <screen><prompt>#</prompt> <userinput>keystone service-create --name=nova --type=compute \
--description="Nova Compute service"</userinput></screen> --description="Nova Compute service"</userinput>
</step> <prompt>#</prompt> <userinput>keystone endpoint-create \
<step os="rhel;centos;fedora;opensuse;sles;ubuntu"> --service-id=$(keystone service-list | awk '/ compute / {print $2}') \
<para>Use the <literal>id</literal> property that is returned to
create the endpoint.</para>
<screen><prompt>#</prompt> <userinput>keystone endpoint-create \
--service-id=<replaceable>the_service_id_above</replaceable> \
--publicurl=http://<replaceable>controller</replaceable>:8774/v2/%\(tenant_id\)s \ --publicurl=http://<replaceable>controller</replaceable>:8774/v2/%\(tenant_id\)s \
--internalurl=http://<replaceable>controller</replaceable>:8774/v2/%\(tenant_id\)s \ --internalurl=http://<replaceable>controller</replaceable>:8774/v2/%\(tenant_id\)s \
--adminurl=http://<replaceable>controller</replaceable>:8774/v2/%\(tenant_id\)s</userinput></screen> --adminurl=http://<replaceable>controller</replaceable>:8774/v2/%\(tenant_id\)s</userinput></screen>