€•ú?      Œdocutils.nodes”Œdocument”“”)”}”(Œautofootnotes”]”Œcurrent_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œpep_base_url”Œ https://www.python.org/dev/peps/”Œsyntax_highlight”Œlong”Œpep_references”NŒtoc_backlinks”Œentry”Œinput_encoding_error_handler”Œstrict”Œtitle”NŒerror_encoding_error_handler”Œbackslashreplace”Œ	datestamp”NŒsmart_quotes”ˆŒenv”NŒerror_encoding”ŒUTF-8”Œreport_level”KŒexpose_internals”NŒ	generator”NŒdump_internals”NŒstrip_elements_with_classes”NŒ	traceback”ˆŒdocinfo_xform”KŒ
halt_level”KŒ_config_files”]”Œembed_stylesheet”‰Œdoctitle_xform”‰Œ_destination”NŒtrim_footnote_reference_space”‰Œlanguage_code”Œen”Œpep_file_url_template”Œpep-%04d”Œdump_transforms”NŒwarning_stream”NŒrecord_dependencies”NŒ
source_url”NŒgettext_compact”ˆŒexit_status_level”KŒfile_insertion_enabled”ˆŒsource_link”NŒdump_pseudo_xml”NŒstrip_comments”NŒraw_enabled”KŒauto_id_prefix”Œid”Œfootnote_backlinks”KŒstrict_visitor”NŒ	tab_width”KŒ_disable_config”NŒconfig”NŒsectsubtitle_xform”‰Œ_source”ŒM/home/jslagle/code/openstack/tripleo-docs/doc/source/developer/tripleo.sh.rst”Œoutput_encoding”Œutf-8”Œrfc_base_url”Œhttps://tools.ietf.org/html/”Œcloak_email_addresses”ˆŒdebug”NŒcharacter_level_inline_markup”‰Œstrip_classes”NŒsectnum_xform”KŒrfc_references”NŒoutput_encoding_error_handler”hŒdump_settings”NŒinput_encoding”Œ	utf-8-sig”Œ	id_prefix”Œ ”ubŒindirect_targets”]”Œsubstitution_defs”}”(Œbug_tracker_url”h Œsubstitution_definition”“”)”}”(Œparent”hŒ
attributes”}”(Œids”]”Œnames”]”hZaŒbackrefs”]”Œclasses”]”Œdupnames”]”uhhŒtagname”h[Œchildren”]”h Œ	reference”“”)”}”(h_h]h`}”(Œrefuri”Œhttps://launchpad.net/tripleo”hd]”hh]”hj]”hb]”hf]”uhlhohm]”h ŒText”“”Œhttps://launchpad.net/tripleo”…””}”(h_hqŒ	rawsource”hUubah‚huubaŒline”KŒsource”hEh‚Œ=.. |bug_tracker_url| replace:: https://launchpad.net/tripleo
”ubŒbug_tracker”h\)”}”(h_hh`}”(hb]”hd]”h†ahf]”hh]”hj]”uhhhlh[hm]”h}Œ	Launchpad”…””}”(h_h‡h‚Œ	Launchpad”ubahƒKh„hEh‚Œ$.. |bug_tracker| replace:: Launchpad”ubŒproject”h\)”}”(h_hh`}”(hb]”hd]”h–ahf]”hh]”hj]”uhhhlh[hm]”h}ŒTripleO”…””}”(h_h—h‚ŒTripleO”ubahƒKh„hEh‚Œ.. |project| replace:: TripleO”ubuŒautofootnote_start”KŒ	citations”]”Œreporter”NŒ
decoration”Nh‚hUŒfootnote_refs”}”Œid_start”KŒsymbol_footnote_refs”]”hm]”(h—h‡h]h Œsection”“”)”}”(h_hh`}”(hb]”Œ
tripleo-sh”ahd]”hf]”hh]”hj]”Œ
tripleo.sh”auhhhlh±hm]”(h h“”)”}”(h_h³h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhhm]”h}Œ
tripleo.sh”…””}”(h„NhƒNh_h¿hhh‚hUubahƒKh„hEh‚Œ
tripleo.sh”ubh Œ	paragraph”“”)”}”(h_h³h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”(hp)”}”(h_hÏh`}”(Œrefuri”ŒPhttp://git.openstack.org/cgit/openstack-infra/tripleo-ci/tree/scripts/tripleo.sh”hd]”hh]”hj]”hb]”Œname”Œ
tripleo.sh”hf]”uhlhohm]”h}Œ
tripleo.sh”…””}”(h_hØh‚hUubah‚Œ``tripleo.sh
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci/tree/scripts/tripleo.sh>`_”ubh Œtarget”“”)”}”(h_hÏh`}”(Œrefuri”hÜhd]”h¼ahh]”hj]”hb]”Œid1”ahf]”uhlhêhm]”Œ
referenced”Kh‚ŒS
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci/tree/scripts/tripleo.sh>”ubh}ŒØ
is a script that can be used to help bootstrap development environments. It
automates many of the steps in this documentation to help get setup faster.
Itâ€™s opinionated automation around other production tooling
(”…””}”(h„NhƒNh_hÏhhh‚hUubhp)”}”(h_hÏh`}”(hÛŒ<http://git.openstack.org/cgit/openstack/python-tripleoclient”hd]”hh]”hj]”hb]”Œname”Œpython-tripleoclient”hf]”uhlhohm]”h}Œpython-tripleoclient”…””}”(h_hýh‚hUubah‚ŒV`python-tripleoclient
<http://git.openstack.org/cgit/openstack/python-tripleoclient>`_”ubhë)”}”(h_hÏh`}”(Œrefuri”j   hd]”Œpython-tripleoclient”ahh]”hj]”hb]”Œpython-tripleoclient”ahf]”uhlhêhm]”h÷Kh‚Œ?
<http://git.openstack.org/cgit/openstack/python-tripleoclient>”ubh}ŒG , etc).
tripleo.sh is also used by tripleo-ci to test TripleO patches.”…””}”(h„NhƒNh_hÏhhh‚hUubehƒK	h„hEh‚XÓ  `tripleo.sh
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci/tree/scripts/tripleo.sh>`_
is a script that can be used to help bootstrap development environments. It
automates many of the steps in this documentation to help get setup faster.
It's opinionated automation around other production tooling
(`python-tripleoclient
<http://git.openstack.org/cgit/openstack/python-tripleoclient>`_ , etc).
tripleo.sh is also used by tripleo-ci to test TripleO patches.”ubh²)”}”(h_h³h`}”(hb]”Œget-tripleo-sh”ahd]”Œget tripleo.sh”ahf]”hh]”hj]”uhhhlh±hm]”(h¾)”}”(h_j   h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhhm]”h}ŒGet tripleo.sh”…””}”(h„NhƒNh_j+  hhh‚hUubahƒKh„hEh‚ŒGet tripleo.sh”ubhÎ)”}”(h_j   h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”(h}Œtripleo.sh is from the ”…””}”(h„NhƒNh_j9  hhh‚hUubhp)”}”(h_j9  h`}”(hÛŒ8http://git.openstack.org/cgit/openstack-infra/tripleo-ci”hd]”hh]”hj]”hb]”Œname”Œ
tripleo-ci”hf]”uhlhohm]”h}Œ
tripleo-ci”…””}”(h_jF  h‚hUubah‚ŒH`tripleo-ci
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci>`_”ubhë)”}”(h_j9  h`}”(Œrefuri”jI  hd]”Œ
tripleo-ci”ahh]”hj]”hb]”Œ
tripleo-ci”ahf]”uhlhêhm]”h÷Kh‚Œ;
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci>”ubh}ŒO project. git
clone tripleo-ci, and the script is under the scripts/ directory:”…””}”(h„NhƒNh_j9  hhh‚hUubehƒKh„hEh‚Œ¯tripleo.sh is from the `tripleo-ci
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci>`_ project. git
clone tripleo-ci, and the script is under the scripts/ directory::”ubh Œliteral_block”“”)”}”(h_j   h`}”(hd]”hh]”hj]”hb]”Œ	xml:space”Œpreserve”hf]”uhhhlji  hm]”h}Œcgit clone https://git.openstack.org/openstack-infra/tripleo-ci
tripleo-ci/scripts/tripleo.sh --help”…””}”(h_jk  h‚hUubahƒKh„hEh‚Œcgit clone https://git.openstack.org/openstack-infra/tripleo-ci
tripleo-ci/scripts/tripleo.sh --help”ubehƒKh„hEh‚hUubh²)”}”(h_h³h`}”(hb]”Œusing-tripleo-sh”ahd]”Œusing tripleo.sh”ahf]”hh]”hj]”uhhhlh±hm]”(h¾)”}”(h_j{  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhhm]”h}ŒUsing tripleo.sh”…””}”(h„NhƒNh_j†  hhh‚hUubahƒKh„hEh‚ŒUsing tripleo.sh”ubhÎ)”}”(h_j{  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”(h}ŒkThe tripleo.sh script is intended to run on an new instack undercloud setup.
That is, you would follow the ”…””}”(h„NhƒNh_j”  hhh‚hUubhp)”}”(h_j”  h`}”(hÛŒahttp://docs.openstack.org/developer/tripleo-docs/environments/environments.html#environment-setup”hd]”hh]”hj]”hb]”Œname”Œenvironment setup”hf]”uhlhohm]”h}Œenvironment setup”…””}”(h_j¡  h‚hUubah‚Œx`environment setup <http://docs.openstack.org/developer/tripleo-docs/environments/environments.html#environment-setup>`_”ubhë)”}”(h_j”  h`}”(Œrefuri”j¤  hd]”Œenvironment setup”ahh]”hj]”hb]”Œenvironment-setup”ahf]”uhlhêhm]”h÷Kh‚Œd <http://docs.openstack.org/developer/tripleo-docs/environments/environments.html#environment-setup>”ubh}Œ docs through to and including
”…””}”(h„NhƒNh_j”  hhh‚hUubh Œtitle_reference”“”)”}”(h_j”  h`}”(hb]”hd]”hf]”hh]”hj]”uhljÃ  hm]”h}Œinstack-virt-setup”…””}”(h_jÅ  h‚hUubah‚Œ`instack-virt-setup`”ubh}Œv (for a virt setup), ssh onto the resulting undercloud
node and then run tripleo.sh with the options identified below.”…””}”(h„NhƒNh_j”  hhh‚hUubehƒK h„hEh‚XŒ  The tripleo.sh script is intended to run on an new instack undercloud setup.
That is, you would follow the `environment setup <http://docs.openstack.org/developer/tripleo-docs/environments/environments.html#environment-setup>`_ docs through to and including
`instack-virt-setup` (for a virt setup), ssh onto the resulting undercloud
node and then run tripleo.sh with the options identified below.”ubh²)”}”(h_j{  h`}”(hb]”Œoptions”ahd]”Œoptions”ahf]”hh]”hj]”uhhhlh±hm]”(h¾)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhhm]”h}ŒOptions”…””}”(h„NhƒNh_jã  hhh‚hUubahƒK&h„hEh‚ŒOptions”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒˆThe help text shows what options are available, and the options are listed in
corresponding order with how a TripleO deployment is done.”…””}”(h„NhƒNh_jñ  hhh‚hUubahƒK(h„hEh‚ŒˆThe help text shows what options are available, and the options are listed in
corresponding order with how a TripleO deployment is done.”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒRepository setup:”…””}”(h„NhƒNh_jÿ  hhh‚hUubahƒK+h„hEh‚ŒRepository setup::”ubjj  )”}”(h_jØ  h`}”(hd]”hh]”hj]”hb]”jr  js  hf]”uhhhlji  hm]”h}Œ*tripleo-ci/scripts/tripleo.sh --repo-setup”…””}”(h_j  h‚hUubahƒK-h„hEh‚Œ*tripleo-ci/scripts/tripleo.sh --repo-setup”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒInstalling the undercloud:”…””}”(h„NhƒNh_j  hhh‚hUubahƒK/h„hEh‚ŒInstalling the undercloud::”ubjj  )”}”(h_jØ  h`}”(hd]”hh]”hj]”hb]”jr  js  hf]”uhhhlji  hm]”h}Œ*tripleo-ci/scripts/tripleo.sh --undercloud”…””}”(h_j)  h‚hUubahƒK1h„hEh‚Œ*tripleo-ci/scripts/tripleo.sh --undercloud”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒBuilding overcloud images:”…””}”(h„NhƒNh_j7  hhh‚hUubahƒK3h„hEh‚ŒBuilding overcloud images::”ubjj  )”}”(h_jØ  h`}”(hd]”hh]”hj]”hb]”jr  js  hf]”uhhhlji  hm]”h}Œ0tripleo-ci/scripts/tripleo.sh --overcloud-images”…””}”(h_jE  h‚hUubahƒK5h„hEh‚Œ0tripleo-ci/scripts/tripleo.sh --overcloud-images”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒRegistering nodes:”…””}”(h„NhƒNh_jS  hhh‚hUubahƒK7h„hEh‚ŒRegistering nodes::”ubjj  )”}”(h_jØ  h`}”(hd]”hh]”hj]”hb]”jr  js  hf]”uhhhlji  hm]”h}Œ.tripleo-ci/scripts/tripleo.sh --register-nodes”…””}”(h_ja  h‚hUubahƒK9h„hEh‚Œ.tripleo-ci/scripts/tripleo.sh --register-nodes”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒIntrospect nodes:”…””}”(h„NhƒNh_jo  hhh‚hUubahƒK;h„hEh‚ŒIntrospect nodes::”ubjj  )”}”(h_jØ  h`}”(hd]”hh]”hj]”hb]”jr  js  hf]”uhhhlji  hm]”h}Œ0tripleo-ci/scripts/tripleo.sh --introspect-nodes”…””}”(h_j}  h‚hUubahƒK=h„hEh‚Œ0tripleo-ci/scripts/tripleo.sh --introspect-nodes”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒDeploy overcloud:”…””}”(h„NhƒNh_j‹  hhh‚hUubahƒK?h„hEh‚ŒDeploy overcloud::”ubjj  )”}”(h_jØ  h`}”(hd]”hh]”hj]”hb]”jr  js  hf]”uhhhlji  hm]”h}Œ0tripleo-ci/scripts/tripleo.sh --overcloud-deploy”…””}”(h_j™  h‚hUubahƒKAh„hEh‚Œ0tripleo-ci/scripts/tripleo.sh --overcloud-deploy”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒDAlternatively, all of the above options can be execute at once with:”…””}”(h„NhƒNh_j§  hhh‚hUubahƒKCh„hEh‚ŒEAlternatively, all of the above options can be execute at once with::”ubjj  )”}”(h_jØ  h`}”(hd]”hh]”hj]”hb]”jr  js  hf]”uhhhlji  hm]”h}Œ#tripleo-ci/scripts/tripleo.sh --all”…””}”(h_jµ  h‚hUubahƒKEh„hEh‚Œ#tripleo-ci/scripts/tripleo.sh --all”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}ŒTest overcloud:”…””}”(h„NhƒNh_jÃ  hhh‚hUubahƒKGh„hEh‚ŒTest overcloud::”ubjj  )”}”(h_jØ  h`}”(hd]”hh]”hj]”hb]”jr  js  hf]”uhhhlji  hm]”h}Œ2tripleo-ci/scripts/tripleo.sh --overcloud-pingtest”…””}”(h_jÑ  h‚hUubahƒKIh„hEh‚Œ2tripleo-ci/scripts/tripleo.sh --overcloud-pingtest”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}Œ{Requirements for testing the overcloud: overcloudrc file (Located by default
in the undercloud current userâ€™s directory).”…””}”(h„NhƒNh_jß  hhh‚hUubahƒKKh„hEh‚Œ{Requirements for testing the overcloud: overcloudrc file (Located by default
in the undercloud current userâ€™s directory).”ubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}Œ¼This option will check that the overcloud is able to create a stack,
testing several OpenStack components in the process. The following steps
are made in order to check the stack creation:”…””}”(h„NhƒNh_jí  hhh‚hUubahƒKNh„hEh‚Œ¼This option will check that the overcloud is able to create a stack,
testing several OpenStack components in the process. The following steps
are made in order to check the stack creation:”ubh Œbullet_list”“”)”}”(h_jØ  h`}”(hd]”hh]”hj]”Œbullet”Œ-”hb]”hf]”uhhhljû  hm]”(h Œ	list_item”“”)”}”(h_jý  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlj  hm]”hÎ)”}”(h_j
  h`}”(hb]”hd]”hf]”hh]”hj]”uhlhÍhm]”h}ŒLDownload a Linux image and upload it to glance with the name pingtest_image.”…””}”(h_j  h‚hUubahƒKRh„hEh‚ŒLDownload a Linux image and upload it to glance with the name pingtest_image.”ubahƒNh„hEh‚ŒMDownload a Linux image and upload it to glance with the name pingtest_image.
”ubj	  )”}”(h_jý  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlj  hm]”hÎ)”}”(h_j"  h`}”(hb]”hd]”hf]”hh]”hj]”uhlhÍhm]”h}Œ/Create an external neutron network called nova.”…””}”(h_j+  h‚hUubahƒKTh„hEh‚Œ/Create an external neutron network called nova.”ubahƒNh„hEh‚Œ0Create an external neutron network called nova.
”ubj	  )”}”(h_jý  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlj  hm]”hÎ)”}”(h_j:  h`}”(hb]”hd]”hf]”hh]”hj]”uhlhÍhm]”h}Œ$Create a subnet in the nova network.”…””}”(h_jC  h‚hUubahƒKVh„hEh‚Œ$Create a subnet in the nova network.”ubahƒNh„hEh‚Œ%Create a subnet in the nova network.
”ubj	  )”}”(h_jý  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlj  hm]”hÎ)”}”(h_jR  h`}”(hb]”hd]”hf]”hh]”hj]”uhlhÍhm]”h}Œ}Create a test stack called tenant-stack, using heat, which spawns a guest
in the overcloud and attach it to the nova network.”…””}”(h_j[  h‚hUubahƒKXh„hEh‚Œ}Create a test stack called tenant-stack, using heat, which spawns a guest
in the overcloud and attach it to the nova network.”ubahƒNh„hEh‚Œ~Create a test stack called tenant-stack, using heat, which spawns a guest
in the overcloud and attach it to the nova network.
”ubj	  )”}”(h_jý  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlj  hm]”hÎ)”}”(h_jj  h`}”(hb]”hd]”hf]”hh]”hj]”uhlhÍhm]”h}Œ7Ping the floating IP address assigned to the new guest.”…””}”(h_js  h‚hUubahƒK[h„hEh‚Œ7Ping the floating IP address assigned to the new guest.”ubahƒNh„hEh‚Œ8Ping the floating IP address assigned to the new guest.
”ubehƒKRh„hEh‚hUubhÎ)”}”(h_jØ  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”h}Œ2After the test, the created resources are deleted.”…””}”(h„NhƒNh_j‚  hhh‚hUubahƒK]h„hEh‚Œ2After the test, the created resources are deleted.”ubehƒK&h„hEh‚hUubh²)”}”(h_j{  h`}”(hb]”Œenvironment-variables”ahd]”Œenvironment variables”ahf]”hh]”hj]”uhhhlh±hm]”(h¾)”}”(h_j  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhhm]”h}ŒEnvironment variables”…””}”(h„NhƒNh_j›  hhh‚hUubahƒKah„hEh‚ŒEnvironment variables”ubhÎ)”}”(h_j  h`}”(hb]”hd]”hf]”hh]”hj]”uhhhlhÍhm]”(h}ŒQCertain values and assumptions can be changed via environment variables. See
the ”…””}”(h„NhƒNh_j©  hhh‚hUubhp)”}”(h_j©  h`}”(hÛŒPhttp://git.openstack.org/cgit/openstack-infra/tripleo-ci/tree/scripts/tripleo.sh”hd]”hh]”hj]”hb]”Œname”Œ
tripleo.sh”hf]”uhlhohm]”h}Œ
tripleo.sh”…””}”(h_j¶  h‚hUubah‚Œ``tripleo.sh
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci/tree/scripts/tripleo.sh>`_”ubhë)”}”(h_j©  h`}”(Œrefuri”j¹  hd]”hh]”hj]”Œ
tripleo.sh”ahb]”Œid2”ahf]”uhlhêhm]”h÷Kh‚ŒS
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci/tree/scripts/tripleo.sh>”ubh}Œ
source code for details.”…””}”(h„NhƒNh_j©  hhh‚hUubehƒKch„hEh‚ŒÊCertain values and assumptions can be changed via environment variables. See
the `tripleo.sh
<http://git.openstack.org/cgit/openstack-infra/tripleo-ci/tree/scripts/tripleo.sh>`_
source code for details.”ubehƒKah„hEh‚hUubehƒKh„hEh‚hUubehƒKh„hEh÷Kh‚hUubeŒsymbol_footnotes”]”Œnameids”}”(j–  j”  j  j  j  j  j&  j$  j·  j»  jÞ  jÜ  j\  j`  Œ
tripleo.sh”hôuŒtransform_messages”]”h`}”(hd]”hh]”hj]”hb]”hf]”Œsource”hEuhhhlhŒsubstitution_names”}”(Œbug_tracker_url”hZŒbug_tracker”h†Œproject”h–uŒcurrent_source”NŒids”}”(j$  j   j  j  j”  j  j  j{  j`  jW  h·h³jÜ  jØ  hôhìj»  j²  jÐ  jÇ  uŒ	footnotes”]”Œrefids”}”Œparse_messages”]”(h Œsystem_message”“”)”}”(h_h³h`}”(Œtype”ŒINFO”hd]”hh]”hj]”hb]”Œline”KŒsource”hEhf]”hôaŒlevel”Kuhhhljõ  hm]”hÎ)”}”(h_j÷  h`}”(hb]”hd]”hf]”hh]”hj]”uhlhÍhm]”h}Œ1Duplicate implicit target name: â€œtripleo.shâ€.”…””}”(h_j  h‚hUubah‚Œ-Duplicate implicit target name: "tripleo.sh".”ubahƒKh„hEh‚hUubjö  )”}”(h_j  h`}”(Œtype”jû  hd]”hh]”hj]”hb]”Œline”KŒsource”hEhf]”jÐ  aŒlevel”Kuhhhljõ  hm]”hÎ)”}”(h_j  h`}”(hb]”hd]”hf]”hh]”hj]”uhlhÍhm]”h}Œ1Duplicate explicit target name: â€œtripleo.shâ€.”…””}”(h_j   h‚hUubah‚Œ-Duplicate explicit target name: "tripleo.sh".”ubahƒKfh„hEh‚hUubeŒtransformer”NŒcitation_refs”}”Œ	nametypes”}”(j–  Nj  ˆj  Nj&  Nj·  ˆjÞ  Nj\  ˆjÝ  ˆuŒrefnames”}”Œsymbol_footnote_start”K Œautofootnote_refs”]”ub.