From 25d1b7d6174971866e24d3ffac4df1cc63c0b8b5 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 19 Aug 2015 09:18:49 +0200 Subject: [PATCH] Remove DocBook XML files for Install Guide Remove DocBook XML files and rename directory from install-guide-rst to install-guide. Adjust everything so that publishing works. Update README to remove DocBook XML Install Guide specific instructions. Implements: blueprint installguide-liberty Change-Id: If723c44c3c0383dc8ab8e53798d82e7f0ee2cc57 --- .gitignore | 8 +- .tx/config | 4 +- README.rst | 18 +- doc-tools-check-languages.conf | 14 +- doc/install-guide/app_reserved_uids.xml | 93 - .../bk-openstack-install-guide.xml | 105 - doc/install-guide/ch_basic_environment.xml | 54 - doc/install-guide/ch_ceilometer.xml | 24 - doc/install-guide/ch_cinder.xml | 33 - doc/install-guide/ch_debconf.xml | 14 - doc/install-guide/ch_glance.xml | 31 - doc/install-guide/ch_heat.xml | 19 - doc/install-guide/ch_horizon.xml | 60 - doc/install-guide/ch_keystone.xml | 14 - doc/install-guide/ch_launch-instance.xml | 33 - doc/install-guide/ch_networking.xml | 44 - doc/install-guide/ch_nova.xml | 13 - doc/install-guide/ch_overview.xml | 258 - doc/install-guide/ch_sahara.xml | 19 - doc/install-guide/ch_swift.xml | 25 - doc/install-guide/ch_trove.xml | 16 - doc/install-guide/figures/NOVA_ARCH.png | Bin 515657 -> 0 bytes doc/install-guide/figures/NOVA_ARCH.svg | 5907 ------ .../figures/NOVA_install_arch.png | Bin 64438 -> 0 bytes .../figures/NOVA_install_arch.svg | 15676 ---------------- .../figures/basic-architecture-networking.svg | 184 - .../figures/basic-architecture.svg | 1128 -- .../api-endpoint_1_register_endpoint.png | Bin 28167 -> 0 bytes .../api-endpoint_2_keystone_server_ip.png | Bin 12888 -> 0 bytes .../api-endpoint_3_keystone_authtoken.png | Bin 10598 -> 0 bytes ...endpoint_4_service_endpoint_ip_address.png | Bin 20451 -> 0 bytes .../api-endpoint_5_region_name.png | Bin 16916 -> 0 bytes ...ommon_1_configure-with-dbconfig-yes-no.png | Bin 44661 -> 0 bytes .../dbconfig-common_2_db-types.png | Bin 29128 -> 0 bytes .../dbconfig-common_3_connection_method.png | Bin 35891 -> 0 bytes .../dbconfig-common_4_mysql_root_password.png | Bin 14715 -> 0 bytes .../dbconfig-common_5_mysql_app_password.png | Bin 15118 -> 0 bytes ...ig-common_6_mysql_app_password_confirm.png | Bin 6591 -> 0 bytes .../dbconfig-common_keep_admin_pass.png | Bin 43251 -> 0 bytes .../dbconfig-common_used_for_remote_db.png | Bin 37967 -> 0 bytes .../glance-common_pipeline_flavor.png | Bin 38446 -> 0 bytes .../keystone_1_admin_token.png | Bin 10553 -> 0 bytes ...eystone_2_register_admin_tenant_yes_no.png | Bin 13902 -> 0 bytes .../keystone_3_admin_user_name.png | Bin 10015 -> 0 bytes .../keystone_4_admin_user_email.png | Bin 11052 -> 0 bytes .../keystone_5_admin_user_pass.png | Bin 10657 -> 0 bytes .../keystone_6_admin_user_pass_confirm.png | Bin 10814 -> 0 bytes .../keystone_7_register_endpoint.png | Bin 17724 -> 0 bytes .../neutron_1_plugin_selection.png | Bin 49734 -> 0 bytes .../neutron_2_networking_type.png | Bin 24859 -> 0 bytes .../neutron_3_hypervisor_ip.png | Bin 11068 -> 0 bytes .../debconf-screenshots/rabbitmq-host.png | Bin 15914 -> 0 bytes .../debconf-screenshots/rabbitmq-password.png | Bin 18190 -> 0 bytes .../debconf-screenshots/rabbitmq-user.png | Bin 19001 -> 0 bytes ...vice_keystone_authtoken_admin_password.png | Bin 8446 -> 0 bytes ...e_keystone_authtoken_admin_tenant_name.png | Bin 8497 -> 0 bytes ...ice_keystone_authtoken_server_hostname.png | Bin 18487 -> 0 bytes ...e_keystone_authtoken_tenant_admin_user.png | Bin 8337 -> 0 bytes .../figures/installguide_arch-neutron.png | Bin 59382 -> 0 bytes .../figures/installguide_arch-neutron.svg | 995 - .../figures/installguide_arch-nova.png | Bin 42523 -> 0 bytes .../figures/installguide_arch-nova.svg | 737 - .../installguide_neutron-initial-networks.png | Bin 48910 -> 0 bytes .../installguide_neutron-initial-networks.svg | 622 - .../figures/networking-interactions-swift.png | Bin 52428 -> 0 bytes .../figures/networking-interactions-swift.svg | 790 - doc/install-guide/figures/nova-external-1.png | Bin 115091 -> 0 bytes doc/install-guide/figures/nova-external-1.svg | 1176 -- doc/install-guide/figures/nova-external-2.png | Bin 55089 -> 0 bytes doc/install-guide/figures/nova-external-2.svg | 3 - .../figures/nova-external.graffle | 2840 --- .../figures/swift_install_arch.png | Bin 76395 -> 0 bytes .../figures/swift_install_arch.svg | 14932 --------------- doc/install-guide/locale/install-guide.pot | 5117 ----- doc/install-guide/locale/ja.po | 7812 -------- doc/install-guide/locale/pt_BR.po | 6252 ------ doc/install-guide/locale/ru.po | 4601 ----- doc/install-guide/locale/vi_VN.po | 8002 -------- doc/install-guide/locale/zh_CN.po | 7044 ------- doc/install-guide/pom.xml | 84 - doc/install-guide/roadmap.rst | 33 - doc/install-guide/section_basics-database.xml | 143 - .../section_basics-networking-neutron.xml | 406 - .../section_basics-networking-nova.xml | 258 - .../section_basics-networking.xml | 84 - doc/install-guide/section_basics-ntp.xml | 156 - doc/install-guide/section_basics-packages.xml | 173 - .../section_basics-prerequisites.xml | 70 - doc/install-guide/section_basics-queue.xml | 58 - doc/install-guide/section_basics-security.xml | 145 - .../section_ceilometer-cinder.xml | 43 - .../section_ceilometer-controller.xml | 435 - .../section_ceilometer-glance.xml | 36 - doc/install-guide/section_ceilometer-nova.xml | 134 - .../section_ceilometer-swift.xml | 99 - .../section_ceilometer-verify.xml | 67 - .../section_cinder-controller-node.xml | 286 - .../section_cinder-storage-node.xml | 317 - doc/install-guide/section_cinder-verify.xml | 91 - .../section_dashboard-install.xml | 142 - .../section_dashboard-verify.xml | 24 - .../section_debconf-api-endpoints.xml | 103 - .../section_debconf-concepts.xml | 98 - .../section_debconf-dbconfig-common.xml | 177 - .../section_debconf-keystone_authtoken.xml | 66 - .../section_debconf-preseeding.xml | 28 - .../section_debconf-rabbitmq.xml | 48 - doc/install-guide/section_glance-install.xml | 321 - doc/install-guide/section_glance-verify.xml | 97 - doc/install-guide/section_heat-install.xml | 361 - doc/install-guide/section_heat-verify.xml | 72 - .../section_keystone-install.xml | 427 - doc/install-guide/section_keystone-openrc.xml | 73 - .../section_keystone-services.xml | 118 - doc/install-guide/section_keystone-users.xml | 173 - doc/install-guide/section_keystone-verify.xml | 178 - .../section_launch-instance-neutron.xml | 364 - .../section_launch-instance-nova.xml | 331 - .../section_neutron-compute-node.xml | 362 - .../section_neutron-concepts.xml | 63 - .../section_neutron-controller-node.xml | 461 - .../section_neutron-initial-networks.xml | 267 - .../section_neutron-network-node.xml | 575 - .../section_nova-compute-install.xml | 244 - .../section_nova-controller-install.xml | 300 - .../section_nova-networking-compute-node.xml | 65 - ...ection_nova-networking-controller-node.xml | 36 - ...ection_nova-networking-initial-network.xml | 57 - doc/install-guide/section_nova-verify.xml | 136 - doc/install-guide/section_sahara-install.xml | 207 - doc/install-guide/section_sahara-verify.xml | 26 - .../section_swift-controller-node.xml | 210 - .../section_swift-finalize-installation.xml | 103 - .../section_swift-initial-rings.xml | 234 - .../section_swift-storage-node.xml | 335 - doc/install-guide/section_swift-verify.xml | 57 - doc/install-guide/section_trove-install.xml | 283 - doc/install-guide/section_trove-verify.xml | 39 - .../setup.cfg | 0 .../setup.py | 0 .../source/app_reserved_uids.rst | 0 .../source/basic_environment.rst | 0 .../source/basics-networking-neutron.rst | 0 .../source/basics-networking-nova.rst | 0 .../source/basics-networking.rst | 0 .../source/basics-ntp.rst | 0 .../source/basics-packages.rst | 0 .../source/ceilometer-cinder.rst | 0 .../source/ceilometer-controller-install.rst | 0 .../source/ceilometer-glance.rst | 0 .../source/ceilometer-next-steps.rst | 0 .../source/ceilometer-nova.rst | 0 .../source/ceilometer-swift.rst | 0 .../source/ceilometer-verify.rst | 0 .../source/ceilometer.rst | 0 .../source/cinder-controller-node.rst | 0 .../source/cinder-next-steps.rst | 0 .../source/cinder-storage-node.rst | 0 .../source/cinder-verify.rst | 0 .../source/cinder.rst | 0 .../source/common | 0 .../source/conf.py | 0 .../source/dashboard-install.rst | 0 .../source/dashboard-next-step.rst | 0 .../source/dashboard-verify.rst | 0 .../source/debconf/debconf-api-endpoints.rst | 0 .../source/debconf/debconf-concepts.rst | 0 .../debconf/debconf-dbconfig-common.rst | 0 .../debconf/debconf-keystone-authtoken.rst | 0 .../source/debconf/debconf-rabbitmq.rst | 0 .../source/debconf/debconf.rst | 0 .../api-endpoint_1_register_endpoint.png | Bin .../api-endpoint_2_keystone_server_ip.png | Bin .../api-endpoint_3_keystone_authtoken.png | Bin ...endpoint_4_service_endpoint_ip_address.png | Bin .../api-endpoint_5_region_name.png | Bin ...ommon_1_configure-with-dbconfig-yes-no.png | Bin .../dbconfig-common_2_db-types.png | Bin .../dbconfig-common_3_connection_method.png | Bin .../dbconfig-common_4_mysql_root_password.png | Bin .../dbconfig-common_5_mysql_app_password.png | Bin ...ig-common_6_mysql_app_password_confirm.png | Bin .../dbconfig-common_keep_admin_pass.png | Bin .../dbconfig-common_used_for_remote_db.png | Bin .../glance-common_pipeline_flavor.png | Bin .../keystone_1_admin_token.png | Bin ...eystone_2_register_admin_tenant_yes_no.png | Bin .../keystone_3_admin_user_name.png | Bin .../keystone_4_admin_user_email.png | Bin .../keystone_5_admin_user_pass.png | Bin .../keystone_6_admin_user_pass_confirm.png | Bin .../keystone_7_register_endpoint.png | Bin .../neutron_1_plugin_selection.png | Bin .../debconf-screenshots/rabbitmq-host.png | Bin .../debconf-screenshots/rabbitmq-password.png | Bin .../debconf-screenshots/rabbitmq-user.png | Bin ...vice_keystone_authtoken_admin_password.png | Bin ...e_keystone_authtoken_admin_tenant_name.png | Bin ...ice_keystone_authtoken_server_hostname.png | Bin ...e_keystone_authtoken_tenant_admin_user.png | Bin ...stallguide-neutron-initialnetworks.graffle | Bin .../installguide-neutron-initialnetworks.png | Bin .../installguide-neutron-initialnetworks.svg | 0 .../installguidearch-neutron-hw.graffle | Bin .../figures/installguidearch-neutron-hw.png | Bin .../figures/installguidearch-neutron-hw.svg | 0 .../installguidearch-neutron-networks.graffle | Bin .../installguidearch-neutron-networks.png | Bin .../installguidearch-neutron-networks.svg | 0 .../installguidearch-neutron-services.graffle | Bin .../installguidearch-neutron-services.png | Bin .../installguidearch-neutron-services.svg | 0 .../figures/installguidearch-nova-hw.graffle | Bin .../figures/installguidearch-nova-hw.png | Bin .../figures/installguidearch-nova-hw.svg | 0 .../installguidearch-nova-networks.graffle | Bin .../installguidearch-nova-networks.png | Bin .../installguidearch-nova-networks.svg | 0 .../installguidearch-nova-services.graffle | Bin .../installguidearch-nova-services.png | Bin .../installguidearch-nova-services.svg | 0 .../openstack_kilo_conceptual_arch.png | Bin .../source/glance-install.rst | 0 .../source/glance-verify.rst | 0 .../source/glance.rst | 0 .../source/heat-install.rst | 0 .../source/heat-next-step.rst | 0 .../source/heat-verify.rst | 0 .../source/heat.rst | 0 .../source/horizon.rst | 0 .../source/index.rst | 0 .../source/keystone-install.rst | 0 .../source/keystone-openrc.rst | 0 .../source/keystone-services.rst | 0 .../source/keystone-users.rst | 0 .../source/keystone-verify.rst | 0 .../source/keystone.rst | 0 .../source/launch-instance-neutron.rst | 0 .../source/launch-instance-nova.rst | 0 .../source/launch-instance.rst | 0 .../source/locale/install-guide.pot} | 0 .../source/mariadb_output.txt | 0 .../source/networking-neutron.rst | 0 .../source/networking-next-steps.rst | 0 .../source/networking-nova.rst | 0 .../source/networking.rst | 0 .../source/neutron-compute-node.rst | 0 .../source/neutron-concepts.rst | 0 .../source/neutron-controller-node.rst | 0 .../source/neutron-initial-networks.rst | 0 .../source/neutron-network-node.rst | 0 .../source/nova-compute-install.rst | 0 .../source/nova-controller-install.rst | 0 .../source/nova-verify.rst | 0 .../source/nova.rst | 0 .../source/overview.rst | 0 .../source/swift-controller-node-include.txt | 0 .../source/swift-controller-node.rst | 0 .../source/swift-finalize-installation.rst | 0 .../source/swift-initial-rings.rst | 0 .../source/swift-next-steps.rst | 0 .../source/swift-storage-node-include1.txt | 0 .../source/swift-storage-node-include2.txt | 0 .../source/swift-storage-node-include3.txt | 0 .../source/swift-storage-node.rst | 0 .../source/swift-verify.rst | 0 .../source/swift.rst | 0 doc/pom.xml | 1 - tools/build-install-guides-rst.sh | 12 +- 269 files changed, 19 insertions(+), 95090 deletions(-) delete mode 100644 doc/install-guide/app_reserved_uids.xml delete mode 100644 doc/install-guide/bk-openstack-install-guide.xml delete mode 100644 doc/install-guide/ch_basic_environment.xml delete mode 100644 doc/install-guide/ch_ceilometer.xml delete mode 100644 doc/install-guide/ch_cinder.xml delete mode 100644 doc/install-guide/ch_debconf.xml delete mode 100644 doc/install-guide/ch_glance.xml delete mode 100644 doc/install-guide/ch_heat.xml delete mode 100644 doc/install-guide/ch_horizon.xml delete mode 100644 doc/install-guide/ch_keystone.xml delete mode 100644 doc/install-guide/ch_launch-instance.xml delete mode 100644 doc/install-guide/ch_networking.xml delete mode 100644 doc/install-guide/ch_nova.xml delete mode 100644 doc/install-guide/ch_overview.xml delete mode 100644 doc/install-guide/ch_sahara.xml delete mode 100644 doc/install-guide/ch_swift.xml delete mode 100644 doc/install-guide/ch_trove.xml delete mode 100644 doc/install-guide/figures/NOVA_ARCH.png delete mode 100644 doc/install-guide/figures/NOVA_ARCH.svg delete mode 100644 doc/install-guide/figures/NOVA_install_arch.png delete mode 100644 doc/install-guide/figures/NOVA_install_arch.svg delete mode 100644 doc/install-guide/figures/basic-architecture-networking.svg delete mode 100644 doc/install-guide/figures/basic-architecture.svg delete mode 100644 doc/install-guide/figures/debconf-screenshots/api-endpoint_1_register_endpoint.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/api-endpoint_5_region_name.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/dbconfig-common_2_db-types.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/dbconfig-common_3_connection_method.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/dbconfig-common_4_mysql_root_password.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/dbconfig-common_6_mysql_app_password_confirm.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/dbconfig-common_used_for_remote_db.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/glance-common_pipeline_flavor.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/keystone_1_admin_token.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/keystone_2_register_admin_tenant_yes_no.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/keystone_3_admin_user_name.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/keystone_4_admin_user_email.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/keystone_5_admin_user_pass.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/keystone_6_admin_user_pass_confirm.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/keystone_7_register_endpoint.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/neutron_1_plugin_selection.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/neutron_2_networking_type.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/neutron_3_hypervisor_ip.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/rabbitmq-host.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/rabbitmq-password.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/rabbitmq-user.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_admin_password.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png delete mode 100644 doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_tenant_admin_user.png delete mode 100644 doc/install-guide/figures/installguide_arch-neutron.png delete mode 100644 doc/install-guide/figures/installguide_arch-neutron.svg delete mode 100644 doc/install-guide/figures/installguide_arch-nova.png delete mode 100644 doc/install-guide/figures/installguide_arch-nova.svg delete mode 100644 doc/install-guide/figures/installguide_neutron-initial-networks.png delete mode 100644 doc/install-guide/figures/installguide_neutron-initial-networks.svg delete mode 100644 doc/install-guide/figures/networking-interactions-swift.png delete mode 100644 doc/install-guide/figures/networking-interactions-swift.svg delete mode 100644 doc/install-guide/figures/nova-external-1.png delete mode 100644 doc/install-guide/figures/nova-external-1.svg delete mode 100644 doc/install-guide/figures/nova-external-2.png delete mode 100644 doc/install-guide/figures/nova-external-2.svg delete mode 100644 doc/install-guide/figures/nova-external.graffle delete mode 100644 doc/install-guide/figures/swift_install_arch.png delete mode 100644 doc/install-guide/figures/swift_install_arch.svg delete mode 100644 doc/install-guide/locale/install-guide.pot delete mode 100644 doc/install-guide/locale/ja.po delete mode 100644 doc/install-guide/locale/pt_BR.po delete mode 100644 doc/install-guide/locale/ru.po delete mode 100644 doc/install-guide/locale/vi_VN.po delete mode 100644 doc/install-guide/locale/zh_CN.po delete mode 100644 doc/install-guide/pom.xml delete mode 100644 doc/install-guide/roadmap.rst delete mode 100644 doc/install-guide/section_basics-database.xml delete mode 100644 doc/install-guide/section_basics-networking-neutron.xml delete mode 100644 doc/install-guide/section_basics-networking-nova.xml delete mode 100644 doc/install-guide/section_basics-networking.xml delete mode 100644 doc/install-guide/section_basics-ntp.xml delete mode 100644 doc/install-guide/section_basics-packages.xml delete mode 100644 doc/install-guide/section_basics-prerequisites.xml delete mode 100644 doc/install-guide/section_basics-queue.xml delete mode 100644 doc/install-guide/section_basics-security.xml delete mode 100644 doc/install-guide/section_ceilometer-cinder.xml delete mode 100644 doc/install-guide/section_ceilometer-controller.xml delete mode 100644 doc/install-guide/section_ceilometer-glance.xml delete mode 100644 doc/install-guide/section_ceilometer-nova.xml delete mode 100644 doc/install-guide/section_ceilometer-swift.xml delete mode 100644 doc/install-guide/section_ceilometer-verify.xml delete mode 100644 doc/install-guide/section_cinder-controller-node.xml delete mode 100644 doc/install-guide/section_cinder-storage-node.xml delete mode 100644 doc/install-guide/section_cinder-verify.xml delete mode 100644 doc/install-guide/section_dashboard-install.xml delete mode 100644 doc/install-guide/section_dashboard-verify.xml delete mode 100644 doc/install-guide/section_debconf-api-endpoints.xml delete mode 100644 doc/install-guide/section_debconf-concepts.xml delete mode 100644 doc/install-guide/section_debconf-dbconfig-common.xml delete mode 100644 doc/install-guide/section_debconf-keystone_authtoken.xml delete mode 100644 doc/install-guide/section_debconf-preseeding.xml delete mode 100644 doc/install-guide/section_debconf-rabbitmq.xml delete mode 100644 doc/install-guide/section_glance-install.xml delete mode 100644 doc/install-guide/section_glance-verify.xml delete mode 100644 doc/install-guide/section_heat-install.xml delete mode 100644 doc/install-guide/section_heat-verify.xml delete mode 100644 doc/install-guide/section_keystone-install.xml delete mode 100644 doc/install-guide/section_keystone-openrc.xml delete mode 100644 doc/install-guide/section_keystone-services.xml delete mode 100644 doc/install-guide/section_keystone-users.xml delete mode 100644 doc/install-guide/section_keystone-verify.xml delete mode 100644 doc/install-guide/section_launch-instance-neutron.xml delete mode 100644 doc/install-guide/section_launch-instance-nova.xml delete mode 100644 doc/install-guide/section_neutron-compute-node.xml delete mode 100644 doc/install-guide/section_neutron-concepts.xml delete mode 100644 doc/install-guide/section_neutron-controller-node.xml delete mode 100644 doc/install-guide/section_neutron-initial-networks.xml delete mode 100644 doc/install-guide/section_neutron-network-node.xml delete mode 100644 doc/install-guide/section_nova-compute-install.xml delete mode 100644 doc/install-guide/section_nova-controller-install.xml delete mode 100644 doc/install-guide/section_nova-networking-compute-node.xml delete mode 100644 doc/install-guide/section_nova-networking-controller-node.xml delete mode 100644 doc/install-guide/section_nova-networking-initial-network.xml delete mode 100644 doc/install-guide/section_nova-verify.xml delete mode 100644 doc/install-guide/section_sahara-install.xml delete mode 100644 doc/install-guide/section_sahara-verify.xml delete mode 100644 doc/install-guide/section_swift-controller-node.xml delete mode 100644 doc/install-guide/section_swift-finalize-installation.xml delete mode 100644 doc/install-guide/section_swift-initial-rings.xml delete mode 100644 doc/install-guide/section_swift-storage-node.xml delete mode 100644 doc/install-guide/section_swift-verify.xml delete mode 100644 doc/install-guide/section_trove-install.xml delete mode 100644 doc/install-guide/section_trove-verify.xml rename doc/{install-guide-rst => install-guide}/setup.cfg (100%) rename doc/{install-guide-rst => install-guide}/setup.py (100%) rename doc/{install-guide-rst => install-guide}/source/app_reserved_uids.rst (100%) rename doc/{install-guide-rst => install-guide}/source/basic_environment.rst (100%) rename doc/{install-guide-rst => install-guide}/source/basics-networking-neutron.rst (100%) rename doc/{install-guide-rst => install-guide}/source/basics-networking-nova.rst (100%) rename doc/{install-guide-rst => install-guide}/source/basics-networking.rst (100%) rename doc/{install-guide-rst => install-guide}/source/basics-ntp.rst (100%) rename doc/{install-guide-rst => install-guide}/source/basics-packages.rst (100%) rename doc/{install-guide-rst => install-guide}/source/ceilometer-cinder.rst (100%) rename doc/{install-guide-rst => install-guide}/source/ceilometer-controller-install.rst (100%) rename doc/{install-guide-rst => install-guide}/source/ceilometer-glance.rst (100%) rename doc/{install-guide-rst => install-guide}/source/ceilometer-next-steps.rst (100%) rename doc/{install-guide-rst => install-guide}/source/ceilometer-nova.rst (100%) rename doc/{install-guide-rst => install-guide}/source/ceilometer-swift.rst (100%) rename doc/{install-guide-rst => install-guide}/source/ceilometer-verify.rst (100%) rename doc/{install-guide-rst => install-guide}/source/ceilometer.rst (100%) rename doc/{install-guide-rst => install-guide}/source/cinder-controller-node.rst (100%) rename doc/{install-guide-rst => install-guide}/source/cinder-next-steps.rst (100%) rename doc/{install-guide-rst => install-guide}/source/cinder-storage-node.rst (100%) rename doc/{install-guide-rst => install-guide}/source/cinder-verify.rst (100%) rename doc/{install-guide-rst => install-guide}/source/cinder.rst (100%) rename doc/{install-guide-rst => install-guide}/source/common (100%) rename doc/{install-guide-rst => install-guide}/source/conf.py (100%) rename doc/{install-guide-rst => install-guide}/source/dashboard-install.rst (100%) rename doc/{install-guide-rst => install-guide}/source/dashboard-next-step.rst (100%) rename doc/{install-guide-rst => install-guide}/source/dashboard-verify.rst (100%) rename doc/{install-guide-rst => install-guide}/source/debconf/debconf-api-endpoints.rst (100%) rename doc/{install-guide-rst => install-guide}/source/debconf/debconf-concepts.rst (100%) rename doc/{install-guide-rst => install-guide}/source/debconf/debconf-dbconfig-common.rst (100%) rename doc/{install-guide-rst => install-guide}/source/debconf/debconf-keystone-authtoken.rst (100%) rename doc/{install-guide-rst => install-guide}/source/debconf/debconf-rabbitmq.rst (100%) rename doc/{install-guide-rst => install-guide}/source/debconf/debconf.rst (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/api-endpoint_1_register_endpoint.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/api-endpoint_5_region_name.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/dbconfig-common_2_db-types.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/dbconfig-common_3_connection_method.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/dbconfig-common_4_mysql_root_password.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/dbconfig-common_6_mysql_app_password_confirm.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/dbconfig-common_used_for_remote_db.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/glance-common_pipeline_flavor.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/keystone_1_admin_token.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/keystone_2_register_admin_tenant_yes_no.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/keystone_3_admin_user_name.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/keystone_4_admin_user_email.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/keystone_5_admin_user_pass.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/keystone_6_admin_user_pass_confirm.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/keystone_7_register_endpoint.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/neutron_1_plugin_selection.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/rabbitmq-host.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/rabbitmq-password.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/rabbitmq-user.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/service_keystone_authtoken_admin_password.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/debconf-screenshots/service_keystone_authtoken_tenant_admin_user.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguide-neutron-initialnetworks.graffle (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguide-neutron-initialnetworks.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguide-neutron-initialnetworks.svg (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-hw.graffle (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-hw.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-hw.svg (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-networks.graffle (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-networks.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-networks.svg (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-services.graffle (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-services.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-neutron-services.svg (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-hw.graffle (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-hw.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-hw.svg (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-networks.graffle (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-networks.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-networks.svg (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-services.graffle (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-services.png (100%) rename doc/{install-guide-rst => install-guide}/source/figures/installguidearch-nova-services.svg (100%) rename doc/{install-guide-rst => install-guide}/source/figures/openstack_kilo_conceptual_arch.png (100%) rename doc/{install-guide-rst => install-guide}/source/glance-install.rst (100%) rename doc/{install-guide-rst => install-guide}/source/glance-verify.rst (100%) rename doc/{install-guide-rst => install-guide}/source/glance.rst (100%) rename doc/{install-guide-rst => install-guide}/source/heat-install.rst (100%) rename doc/{install-guide-rst => install-guide}/source/heat-next-step.rst (100%) rename doc/{install-guide-rst => install-guide}/source/heat-verify.rst (100%) rename doc/{install-guide-rst => install-guide}/source/heat.rst (100%) rename doc/{install-guide-rst => install-guide}/source/horizon.rst (100%) rename doc/{install-guide-rst => install-guide}/source/index.rst (100%) rename doc/{install-guide-rst => install-guide}/source/keystone-install.rst (100%) rename doc/{install-guide-rst => install-guide}/source/keystone-openrc.rst (100%) rename doc/{install-guide-rst => install-guide}/source/keystone-services.rst (100%) rename doc/{install-guide-rst => install-guide}/source/keystone-users.rst (100%) rename doc/{install-guide-rst => install-guide}/source/keystone-verify.rst (100%) rename doc/{install-guide-rst => install-guide}/source/keystone.rst (100%) rename doc/{install-guide-rst => install-guide}/source/launch-instance-neutron.rst (100%) rename doc/{install-guide-rst => install-guide}/source/launch-instance-nova.rst (100%) rename doc/{install-guide-rst => install-guide}/source/launch-instance.rst (100%) rename doc/{install-guide-rst/source/locale/install-guide-rst.pot => install-guide/source/locale/install-guide.pot} (100%) rename doc/{install-guide-rst => install-guide}/source/mariadb_output.txt (100%) rename doc/{install-guide-rst => install-guide}/source/networking-neutron.rst (100%) rename doc/{install-guide-rst => install-guide}/source/networking-next-steps.rst (100%) rename doc/{install-guide-rst => install-guide}/source/networking-nova.rst (100%) rename doc/{install-guide-rst => install-guide}/source/networking.rst (100%) rename doc/{install-guide-rst => install-guide}/source/neutron-compute-node.rst (100%) rename doc/{install-guide-rst => install-guide}/source/neutron-concepts.rst (100%) rename doc/{install-guide-rst => install-guide}/source/neutron-controller-node.rst (100%) rename doc/{install-guide-rst => install-guide}/source/neutron-initial-networks.rst (100%) rename doc/{install-guide-rst => install-guide}/source/neutron-network-node.rst (100%) rename doc/{install-guide-rst => install-guide}/source/nova-compute-install.rst (100%) rename doc/{install-guide-rst => install-guide}/source/nova-controller-install.rst (100%) rename doc/{install-guide-rst => install-guide}/source/nova-verify.rst (100%) rename doc/{install-guide-rst => install-guide}/source/nova.rst (100%) rename doc/{install-guide-rst => install-guide}/source/overview.rst (100%) rename doc/{install-guide-rst => install-guide}/source/swift-controller-node-include.txt (100%) rename doc/{install-guide-rst => install-guide}/source/swift-controller-node.rst (100%) rename doc/{install-guide-rst => install-guide}/source/swift-finalize-installation.rst (100%) rename doc/{install-guide-rst => install-guide}/source/swift-initial-rings.rst (100%) rename doc/{install-guide-rst => install-guide}/source/swift-next-steps.rst (100%) rename doc/{install-guide-rst => install-guide}/source/swift-storage-node-include1.txt (100%) rename doc/{install-guide-rst => install-guide}/source/swift-storage-node-include2.txt (100%) rename doc/{install-guide-rst => install-guide}/source/swift-storage-node-include3.txt (100%) rename doc/{install-guide-rst => install-guide}/source/swift-storage-node.rst (100%) rename doc/{install-guide-rst => install-guide}/source/swift-verify.rst (100%) rename doc/{install-guide-rst => install-guide}/source/swift.rst (100%) diff --git a/.gitignore b/.gitignore index 9be477cefa..52fa3aee08 100644 --- a/.gitignore +++ b/.gitignore @@ -7,10 +7,10 @@ target/ /publish-docs/ /www/output/ /generated/ -/doc/install-guide-rst/build-rdo/ -/doc/install-guide-rst/build-obs/ -/doc/install-guide-rst/build-ubuntu/ -/doc/install-guide-rst/build-debian/ +/doc/install-guide/build-rdo/ +/doc/install-guide/build-obs/ +/doc/install-guide/build-ubuntu/ +/doc/install-guide/build-debian/ .doctrees build/ /build-*.log.gz diff --git a/.tx/config b/.tx/config index 89aa430210..0d367824ce 100644 --- a/.tx/config +++ b/.tx/config @@ -44,9 +44,9 @@ source_lang = en type = PO [openstack-manuals-i18n.install-guide] -file_filter = doc/install-guide/locale/.po +file_filter = doc/install-guide/source/locale//LC_MESSAGES/install-guide.po minimum_perc = 75 -source_file = doc/install-guide/locale/install-guide.pot +source_file = doc/install-guide/source/locale/install-guide.pot source_lang = en type = PO diff --git a/README.rst b/README.rst index c608a8bbec..fa610858aa 100644 --- a/README.rst +++ b/README.rst @@ -48,7 +48,7 @@ The different manuals are in subdirectories of the DocBook guides -------------- -* Normal guides + For example, the root directory of the *OpenStack Virtual Machine Image Guide* is ``openstack-manuals/doc/image-guide``. @@ -66,22 +66,6 @@ The root of the generated HTML documentation is:: openstack-manuals/doc/image-guide/target/docbkx/webhelp/image-guide/content/index.html -* Installation guides -The root directory of the *OpenStack Install Guides* -is ``openstack-manuals/doc/install-guide``, you can get different operating system's guides:: - - cd openstack-manuals/doc/install-guide/ - mvn clean generate-sources -Dprofile.os="ubuntu" -Doperating.system="apt" - mvn clean generate-sources -Dprofile.os="rhel;centos;fedora" -Doperating.system="yum" - mvn clean generate-sources -Dprofile.os="opensuse" -Doperating.system="zypper" - -The generated PDF documentation file is:: - - openstack-manuals/doc/install-guide/target/docbkx/webhelp/local/install-guide/install/${operating.system}/openstack-install-guide-${operating.system}-local.pdf - -The root of the generated HTML documentation is:: - - openstack-manuals/doc/install-guide/target/docbkx/webhelp/local/install-guide/install/${operating.system}/content/index.html RST guides ---------- diff --git a/doc-tools-check-languages.conf b/doc-tools-check-languages.conf index d6d170cfbc..348a1cb015 100644 --- a/doc-tools-check-languages.conf +++ b/doc-tools-check-languages.conf @@ -1,17 +1,15 @@ # directories to be set up declare -A DIRECTORIES=( ["fr"]="common glossary image-guide" - ["ja"]="common glossary image-guide install-guide" - ["pt_BR"]="common install-guide" - ["zh_CN"]="common glossary arch-design image-guide install-guide" + ["ja"]="common glossary image-guide" + ["zh_CN"]="common glossary arch-design image-guide" ) # books to be built declare -A BOOKS=( ["fr"]="image-guide" - ["ja"]="image-guide install-guide user-guide user-guide-admin" - ["pt_BR"]="install-guide" - ["zh_CN"]="arch-design image-guide install-guide" + ["ja"]="image-guide user-guide user-guide-admin" + ["zh_CN"]="arch-design image-guide" ) # draft books @@ -33,12 +31,12 @@ DOC_DIR="doc/" # Values need to match content in # project-config/jenkins/scripts/common_translation_update.sh declare -A SPECIAL_BOOKS=( + ["install-guide"]="RST" + ["networking-guide"]="RST" ["user-guide"]="RST" ["user-guide-admin"]="RST" - ["networking-guide"]="RST" # In process of migration to RST ["admin-guide-cloud-rst"]="RST" - ["install-guide-rst"]="RST" # Skip guide while it's created ["contributor-guide"]="skip" # This needs special handling, handle it with the RST tools. diff --git a/doc/install-guide/app_reserved_uids.xml b/doc/install-guide/app_reserved_uids.xml deleted file mode 100644 index 22c73dd18f..0000000000 --- a/doc/install-guide/app_reserved_uids.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - Reserved user IDs - - - OpenStack reserves certain user IDs to run specific services and - own specific files. These user IDs are set up according to the - distribution packages. The following table gives an overview. - - - - Some OpenStack packages generate and assign user IDs - automatically during package installation. In these cases, the - user ID value is not important. The existence of the user ID is - what matters. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Reserved user IDs
NameDescriptionID
ceilometerOpenStack ceilometer daemons166Assigned during package installation
cinderOpenStack cinder daemons165Assigned during package installation
glanceOpenStack glance daemons161Assigned during package installation
heatOpenStack heat daemons187Assigned during package installation
keystoneOpenStack keystone daemons163Assigned during package installation
neutronOpenStack neutron daemons164Assigned during package installation
novaOpenStack nova daemons16296Assigned during package installation
swiftOpenStack swift daemons160Assigned during package installation
troveOpenStack trove daemonsAssigned during package installation
- Each user belongs to a user group with the same name as the - user. - -
diff --git a/doc/install-guide/bk-openstack-install-guide.xml b/doc/install-guide/bk-openstack-install-guide.xml deleted file mode 100644 index 57e329b792..0000000000 --- a/doc/install-guide/bk-openstack-install-guide.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - OpenStack Installation Guide for - <phrase os="rhel;centos;fedora">Red Hat Enterprise Linux 7, CentOS 7, and Fedora 21</phrase> - <phrase os="ubuntu">Ubuntu 14.04</phrase> - <phrase os="debian">Debian 7</phrase> - <phrase os="opensuse">openSUSE 13.2 and SUSE Linux Enterprise Server 12</phrase> - - - - OpenStack Installation Guide for - Red Hat Enterprise Linux, CentOS, and Fedora - Ubuntu 14.04 - openSUSE and SUSE Linux Enterprise Server - Debian 7 - - - - - - - - - OpenStack - - - - 2012 - 2013 - 2014 - 2015 - OpenStack Foundation - - kilo - OpenStack Installation Guide - - - - Copyright details are filled in by the - template. - - - - The OpenStack® system consists of several key - projects that you install separately. These projects work - together depending on your cloud needs. These projects - include Compute, Identity Service, Networking, Image - Service, Block Storage, Object Storage, Telemetry, - Orchestration, and Database. You can install any of these - projects separately and configure them stand-alone or - as connected entities. This guide walks through an - installation by using packages available through - Debian 7 (code name: Wheezy). - This guide walks through an - installation by using packages available through - Ubuntu 14.04. - This guide shows you - how to install OpenStack by using packages - available through Fedora 21 as well as on Red Hat - Enterprise Linux 7 and its derivatives through the - EPEL repository. - This guide shows you how to - install OpenStack by using packages on openSUSE - 13.2 and SUSE Linux Enterprise Server 12 - through the Open Build Service Cloud - repository. Explanations of configuration - options and sample configuration files are - included. - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/install-guide/ch_basic_environment.xml b/doc/install-guide/ch_basic_environment.xml deleted file mode 100644 index e4e65c2c6c..0000000000 --- a/doc/install-guide/ch_basic_environment.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - Basic environment - - - - The draft version of this guide focuses on the future Liberty - release and will not work for the current Kilo release. If - you want to install Kilo, you must use the Kilo version - of this guide instead. - - - - This chapter explains how to configure each node in the - example architectures - including the - two-node architecture with legacy networking and - three-node - architecture with OpenStack Networking (neutron). - - Although most environments include Identity, Image service, - Compute, at least one networking service, and the dashboard, the - Object Storage service can operate independently. If your use case - only involves Object Storage, you can skip to - after configuring the appropriate nodes - for it. However, the dashboard requires at least - the Image service and Compute. - - - You must use an account with administrative privileges to configure - each node. Either run the commands as the root user - or configure the sudo utility. - - - - The systemctl enable call on openSUSE outputs - a warning message when the service uses SysV Init scripts - instead of native systemd files. This warning can be ignored. - - - - - - - - - - diff --git a/doc/install-guide/ch_ceilometer.xml b/doc/install-guide/ch_ceilometer.xml deleted file mode 100644 index c61da53e4c..0000000000 --- a/doc/install-guide/ch_ceilometer.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - Add the Telemetry module - Telemetry provides a framework for monitoring and metering - the OpenStack cloud. It is also known as the ceilometer - project. - - - - - - - -
- Next steps - Your OpenStack environment now includes Telemetry. You can - launch an instance or add more - services to your environment in the previous chapters. -
-
diff --git a/doc/install-guide/ch_cinder.xml b/doc/install-guide/ch_cinder.xml deleted file mode 100644 index fd22e65d4d..0000000000 --- a/doc/install-guide/ch_cinder.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - Add the Block Storage service - The OpenStack Block Storage service provides block storage devices - to guest instances. The method in which the storage is provisioned and - consumed is determined by the Block Storage driver, or drivers - in the case of a multi-backend configuration. There are a variety of - drivers that are available: NAS/SAN, NFS, iSCSI, Ceph, and more. - The Block Storage API and scheduler services typically run on the controller - nodes. Depending upon the drivers used, the volume service can run - on controllers, compute nodes, or standalone storage nodes. - For more information, see the - - Configuration Reference. - - This chapter omits the backup manager because it depends on the - Object Storage service. - - - - - -
- Next steps - Your OpenStack environment now includes Block Storage. You can - launch an instance or add more - services to your environment in the following chapters. -
-
diff --git a/doc/install-guide/ch_debconf.xml b/doc/install-guide/ch_debconf.xml deleted file mode 100644 index 850bc1ec3b..0000000000 --- a/doc/install-guide/ch_debconf.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - Configure OpenStack with debconf - - - - - - diff --git a/doc/install-guide/ch_glance.xml b/doc/install-guide/ch_glance.xml deleted file mode 100644 index 0a9afb28f2..0000000000 --- a/doc/install-guide/ch_glance.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - Add the Image service - The OpenStack Image service (glance) enables users to discover, - register, and retrieve virtual machine images. It offers a REST API that enables you to - query virtual machine image metadata and retrieve an actual image. - You can store virtual machine images made available through the - Image service in a variety of locations, from simple file systems - to object-storage systems like OpenStack Object Storage. - - For simplicity, this guide describes configuring the Image service to - use the file back end, which uploads and stores in a - directory on the controller node hosting the Image service. By - default, this directory is /var/lib/glance/images/. - - Before you proceed, ensure that the controller node has at least - several gigabytes of space available in this directory. - For information on requirements for other back ends, see Configuration - Reference. - - - - - diff --git a/doc/install-guide/ch_heat.xml b/doc/install-guide/ch_heat.xml deleted file mode 100644 index 1de413462f..0000000000 --- a/doc/install-guide/ch_heat.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Add the Orchestration module - The Orchestration module (heat) uses a heat orchestration template - (HOT) to create and manage cloud resources. - - - -
- Next steps - Your OpenStack environment now includes Orchestration. You can - launch an instance or add more - services to your environment in the following chapters. -
-
diff --git a/doc/install-guide/ch_horizon.xml b/doc/install-guide/ch_horizon.xml deleted file mode 100644 index f49e0302df..0000000000 --- a/doc/install-guide/ch_horizon.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - Add the dashboard - The OpenStack dashboard, also known as Horizon, is a Web interface that enables cloud - administrators and users to manage various OpenStack resources and - services. - The dashboard enables web-based interactions with the - OpenStack Compute cloud controller through the OpenStack - APIs. - Horizon enables you to customize the brand of the dashboard. - Horizon provides a set of core classes and reusable templates and tools. - This example deployment uses an Apache web server. - - - -
- Next steps - Your OpenStack environment now includes the dashboard. You can - launch an instance or add - more services to your environment in the following chapters. - After you install and configure the dashboard, you can - complete the following tasks: - - - Provide users with a public IP address, a username, and a password - so they can access the dashboard through a web browser. In case of - any SSL certificate connection problems, point the server - IP address to a domain name, and give users access. - - - Customize your dashboard. See section Customize the dashboard in the OpenStack Cloud Administrator Guide - for information on setting up colors, logos, and site titles. - - - Set up session storage. See section Set up session storage for the dashboard - in the OpenStack Cloud Administrator Guide for information on user - session data. - - - To use the VNC client with the dashboard, the browser - must support HTML5 Canvas and HTML5 WebSockets. - For details about browsers that support noVNC, see - https://github.com/kanaka/noVNC/blob/master/README.md, - and - https://github.com/kanaka/noVNC/wiki/Browser-support, - respectively. - - -
-
diff --git a/doc/install-guide/ch_keystone.xml b/doc/install-guide/ch_keystone.xml deleted file mode 100644 index 1aa57e3743..0000000000 --- a/doc/install-guide/ch_keystone.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - Add the Identity service - - - - - - - diff --git a/doc/install-guide/ch_launch-instance.xml b/doc/install-guide/ch_launch-instance.xml deleted file mode 100644 index 4b4a9666a5..0000000000 --- a/doc/install-guide/ch_launch-instance.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - Launch an instance - An instance is a VM that OpenStack provisions on a compute node. - This guide shows you how to launch a minimal instance using the - CirrOS image that you added to your environment - in the chapter. In these steps, you use the - command-line interface (CLI) on your controller node or any system with - the appropriate OpenStack client libraries. To use the dashboard, see the - - OpenStack User Guide. - Launch an instance using - OpenStack Networking (neutron) - or - legacy networking (nova-network) - . For more - information, see the - - OpenStack User Guide. - - These steps reference example components created in previous - chapters. You must adjust certain values such as IP addresses to - match your environment. - - - - diff --git a/doc/install-guide/ch_networking.xml b/doc/install-guide/ch_networking.xml deleted file mode 100644 index a6413c0fb8..0000000000 --- a/doc/install-guide/ch_networking.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - Add a networking component - This chapter explains how to install and configure either - OpenStack Networking (neutron), or the legacy nova-network component. - The nova-network service - enables you to deploy one network type per instance and is - suitable for basic network functionality. OpenStack Networking - enables you to deploy multiple network types per instance and - includes plug-ins for a - variety of products that support virtual - networking. - For more information, see the Networking chapter of the OpenStack Cloud - Administrator Guide. -
- OpenStack Networking (neutron) - - - - - - -
-
- Legacy networking (nova-network) - - - -
-
- Next steps - Your OpenStack environment now includes the core components - necessary to launch a basic instance. You can launch an instance or add - more OpenStack services to your environment. -
-
diff --git a/doc/install-guide/ch_nova.xml b/doc/install-guide/ch_nova.xml deleted file mode 100644 index e95e77206b..0000000000 --- a/doc/install-guide/ch_nova.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - Add the Compute service - - - - - diff --git a/doc/install-guide/ch_overview.xml b/doc/install-guide/ch_overview.xml deleted file mode 100644 index 3206a8a1ed..0000000000 --- a/doc/install-guide/ch_overview.xml +++ /dev/null @@ -1,258 +0,0 @@ - - -%openstack; -]> - - - Architecture -
- Overview - The OpenStack project is an open source cloud - computing platform that supports all types of cloud environments. The - project aims for simple implementation, massive scalability, and a rich - set of features. Cloud computing experts from around the world - contribute to the project. - OpenStack provides an Infrastructure-as-a-Service - (IaaS) solution through a variety of complemental - services. Each service offers an application programming interface - (API) that facilitates this integration. The - following table provides a list of OpenStack services: - - This guide describes how to deploy these services in a functional - test environment and, by example, teaches you how to build a production - environment. Realistically, you would use automation tools such as - Ansible, Chef, and Puppet to deploy and manage a production - environment. -
-
- Conceptual architecture - Launching a virtual machine or instance involves many interactions - among several services. The following diagram provides the conceptual - architecture of a typical OpenStack environment. -
- Conceptual architecture - - - - - -
-
-
- Example architectures - OpenStack is highly configurable to meet different needs with various - compute, networking, and storage options. This guide enables you to - choose your own OpenStack adventure using a combination of core and - optional services. This guide uses the following example - architectures: - - - Three-node architecture with OpenStack Networking - (neutron) and optional nodes for Block Storage and Object - Storage services. - - - The - controller node runs the Identity service, Image - Service, management portions of Compute and Networking, - Networking plug-in, and the dashboard. It also includes - supporting services such as a SQL database, - message queue, and - Network Time Protocol (NTP). - Optionally, the controller node runs portions of - Block Storage, Object Storage, Orchestration, Telemetry, - Database, and Data processing services. These - components provide additional features for your - environment. - - - The network node runs the Networking plug-in and - several agents that provision tenant networks and provide - switching, routing, - NAT, and DHCP services. - This node also handles external (Internet) connectivity for - tenant virtual machine instances. - - - The compute node runs the - hypervisor portion of Compute - that operates tenant - virtual machines - or instances. By default, Compute uses - KVM - as the hypervisor. The compute node - also runs the Networking plug-in and an agent that connect - tenant networks to instances and provide firewalling - (security groups) services. You can run more - than one compute node. - Optionally, the compute node runs a Telemetry - agent to collect meters. Also, it can contain a third - network interface on a separate storage network to improve - performance of storage services. - - - The optional Block Storage node contains the disks that - the Block Storage service provisions for tenant virtual machine - instances. You can run more than one of these nodes. - Optionally, the Block Storage node runs a Telemetry - agent to collect meters. Also, it can contain a second - network interface on a separate storage network to improve - performance of storage services. - - - The optional Object Storage nodes contain the disks that - the Object Storage service uses for storing accounts, - containers, and objects. You can run more than two of these - nodes. However, the minimal architecture example requires - two nodes. - Optionally, these nodes can contain a second network - interface on a separate storage network to improve - performance of storage services. - - - - When you implement this architecture, skip - in - . Optional services might - require additional nodes or additional resources on existing - nodes. - -
- Minimal architecture example with OpenStack Networking - (neutron)—Hardware requirements - - - - - -
-
- Minimal architecture example with OpenStack Networking - (neutron)—Network layout - - - - - -
-
- Minimal architecture example with OpenStack Networking - (neutron)—Service layout - - - - - -
- -
- - Two-node architecture with legacy networking - (nova-network) and optional nodes for Block Storage and - Object Storage services. - - - The - controller node runs the Identity service, - Image service, management portion of Compute, and the - dashboard. It also includes supporting services such as - a SQL database, message queue, and - Network Time Protocol (NTP). - Optionally, the controller node runs portions of - Block Storage, Object Storage, Orchestration, Telemetry, - Database, and Data processing services. These - components provide additional features for your - environment. - - - The compute node runs the - hypervisor portion of Compute - that operates tenant - virtual machines - or instances. By default, Compute uses - KVM - as the hypervisor. Compute also - provisions tenant networks and provides firewalling - (security groups) services. You can run more - than one compute node. - Optionally, the compute node runs a Telemetry - agent to collect meters. Also, it can contain a third - network interface on a separate storage network to improve - performance of storage services. - - - The optional Block Storage node contains the disks that - the Block Storage service provisions for tenant virtual machine - instances. You can run more than one of these nodes. - Optionally, the Block Storage node runs a Telemetry - agent to collect meters. Also, it can contain a second - network interface on a separate storage network to improve - performance of storage services. - - - The optional Object Storage nodes contain the disks that - the Object Storage service uses for storing accounts, - containers, and objects. You can run more than two of these - nodes. However, the minimal architecture example requires - two nodes. - Optionally, these nodes can contain a second network - interface on a separate storage network to improve - performance of storage services. - - - - When you implement this architecture, skip - in - . To use optional services, you - might need to build additional nodes, as described in - subsequent chapters. - -
- Minimal architecture example with legacy networking - (nova-network)—Hardware requirements - - - - - -
-
- Minimal architecture example with legacy networking - (nova-network)—Network layout - - - - - -
-
- Minimal architecture example with legacy networking - (nova-network)—Service layout - - - - - -
-
-
-
-
diff --git a/doc/install-guide/ch_sahara.xml b/doc/install-guide/ch_sahara.xml deleted file mode 100644 index 5283bf1f44..0000000000 --- a/doc/install-guide/ch_sahara.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Add the Data processing service - The Data processing service (sahara) enables users to provide a - scalable data processing stack and associated management interfaces. - This includes provisioning and operation of data processing clusters as - well as scheduling and operation of data processing jobs. - - - This chapter is a work in progress. It may contain - incorrect information, and will be updated frequently. - - - - diff --git a/doc/install-guide/ch_swift.xml b/doc/install-guide/ch_swift.xml deleted file mode 100644 index 64e20ce272..0000000000 --- a/doc/install-guide/ch_swift.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Add Object Storage - The OpenStack Object Storage services (swift) work together to - provide object storage and retrieval through a - REST API. Your environment - must at least include the Identity service (keystone) prior to - deploying Object Storage. - - - - - - -
- Next steps - Your OpenStack environment now includes Object Storage. You can - launch an instance or add more - services to your environment in the following chapters. -
-
diff --git a/doc/install-guide/ch_trove.xml b/doc/install-guide/ch_trove.xml deleted file mode 100644 index 875550c6e2..0000000000 --- a/doc/install-guide/ch_trove.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - Add the Database service - Use the Database - service to create cloud database resources. The - integrated project name is trove. - This chapter is a work in progress. It may contain - incorrect information, and will be updated frequently. - - - - diff --git a/doc/install-guide/figures/NOVA_ARCH.png b/doc/install-guide/figures/NOVA_ARCH.png deleted file mode 100644 index 6206deaf786ca55e947fff98ce7eac9b6610ac63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 515657 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�LPG@!SU0n&VN4i9vlC z(-HME1seI3Eurpo$`bjWhy=i92h*poA&jK5)n<H3L2)gsXjg?6Nt*FV&$|?zH^!lBn z%V}Q1KW6UMqn$o#WULgo9_dX~ZsQRQ)QdlZqA}&|O%0$C2X?SMiYddelX|z_75E_cu7PA1hxxmDECXFY)7r@&R0rxB8g+J`oAyzhnH%LiiiOkwZIB;yYH{@ zm={@!SdLC3p=?)7d$Eb}ylNw^-5XAFD~$TAmSZ#DcEth+YLGwN>;dQdzq`gHADRQ& zl0Js9FviZ&1&a3V;SL$}z5H-S<-%!yfCRDKaEeCG3xJkS?CRHF&1wVc047H0x0~ye#YV>IALB?d+)DlE^j}K5|;%J-KBbKfaJ|! zUvkRN*kocklgh9}w4%*&i$ZlTh%uoz}>4 zaB)}i*f=;YE5v$mPJ%N5M>c%e+cO&y2LKOc=>O=zX5$YWl?SwW@uIFJQw!^j$=JQ} z+6`XV_KO|{eMeyOyGTbzmys4QF`@nU=;$T%5PLe)W#IYzd%Uwu&i(QxVsDN1!e#1S z5%f!F;Jl8qcW3IEQeDmg%o;GYa0N%r4)ROW$Osv9t?V_FrK38f=7lqGfS-hpR@ySw z9!%BX+C#avfkDi{x(UVumFY0QxOndI$j#MZw1+jN(mJV|i_6TUb1MVz$~#M(2t?kq zVxUdy_2wy&W)QhxCgZ=({_Mk$3oAv&QS~6h?5sR;>=FbSQ<|bbELnvTG0s=(Y1;Mi z3c*Cn#FJ8{cY(Xyo8RfA-6rbXq)zWbU=@G2n(XJ#8MdFiwNQKRxa(tO=Rb%`88rDT85xGsiar0Ll4(3B9IlxB_eO1PEn$6t?*$_N zfPf2#55VTlL=S@wA7`Wje4SrUqo(1(JD4`N?QB5*4)nt#RR!^7yF=u$9tBWIi!4TY zf~{O#4~0vsGVM^&F%ipqQLI&ZL_pbvBrD~m`VCCds9K5w2%N%_}?fChl| zSnvwi%CfB&gr{7WQrtsXoA_ltJWSCTo7-ZwLHSGQ5X%ip-{kefD*OV;KMCU*ynvCK zT)IwuhWCB?#FbdkY&Okg;|Pbvw*8%*iaD|g{|ePT|CMTPWjEu5^h20J|DMFIaOklG=ElE}^avvu!CmEn{gVT>nXI59)#L9uR zDN&%PTm~-VJ^m8}hD6DvHb~onmQMRf2#l6)4WSElM>!`1?B>QMbnj}cCWY(fI7+XJ z35qFEAD(SfI{+^Z5xv1s&4XP@ZL zKfO2BeYv}lYD*{kTFZk`7^n_GtY{SlDcWs+jb&28>$virhvQC-QqnM&x`D~CG8B{_ zU?x;7(2^J?m%d5#2>ZcxHgz4uMBO!NK_!pG^vXCRz%6Ry%Z50omO+KE8X!4sayM%~ybl`BUeZ+yYJ+b|OLF zeSvp(-S?9n3L)DEhVXgT<-LDT49JFZvRDv(K2Wq{5#Q(aVt10l`JO)uogbgD^cCt# zWEj^jU!y^%?Uo+-)P;5*g$x3;($Ps}W@ZNNNz!8N7F6GsnLilx3FujK)e4T)?vHMG z4tNDZp~PJO_3IbcfoHk5ieV+zZHepefM|^^u4^gUpPm9-pVS3{UG=U#Kv#T%;7`2o z@>CO@|GfITYY#iwJr#yaC|{UFddY=SS;1udM6u__%K2;Qo@)TO1{1EQwHO%&A!l@&(*@oRhf}7%r8l5-ODXX}A;ptY zBc+tmq+N6YUlPp<+GgDkpMb!2x&PL3efB}#%`XP6kDgT&ti5qukm(14@djqW1R*)p95N?zQ9=cR&^nGwjM<#+Dv06_0d4`4Bazscb zU#Zz}p8kHd`A|;gP+ot7=Kgd>#af_b8OF`o=o@ekI2&LAg0J6cNtX%k`*0uIVPk>< z+{Ue*2a{h8(yJ5Y>v0f+N<~1BJvDG$XH?~%Hs3>L4k(zUUd-bBGGBdR(PcHiqR9Ky zi{$!s3@~ET$om#V%7)=TG0%e1)dWX4JV!mZ!)Z9OhtWbFTGcA%)gGhb=|<~J2?8IC zYc8=X`#Jx;BTX0&c<4ixcRLnWTs7VfN4tXDjd_FP{xA8KPgRAW4=~kXm(#AK>kn`|_l11fswQ(EYHLlA=v+HJY)&A6z2PxIE$b!HO~xDFW87rIo8ssWPT2m7U-z#ucMZecmPZltb* z1K*VA!3(i8kp~iS6D1`)nXL*dOp{0DyTBgd0Q#>R7n4JRcIuMc#R z3>?NCrnQvDIPrHYte;vohd%y^3*o5bl(ea)T7C z7BRXxtu>&;4LA}E%%dy=Hcid2(g*9%7n*IkDT5h*{#$3~fL`pa3vW&TY;X6WDl-Wg zy4P`DgD+K+KNTQgsX3Jbg--sQ*`>(?ty7=R`k;!lfIEK@KAO?mgjxreTRe%b66WsIfZYjim0EHgIBKu#W z@Bv;^OVo&g!5q|eX^wmka0^OkbzFt~HB{|=a;zyW!|(i)Y$8$Qm{olliSKuK+FV%` zqd}gy%9VWaXNJo_mz^^wjc>N;F<)Gn`tp_B>hPHEvf(D81B_d>2%6GkXk_ks9p8n! zIG>h+gMu*46h`F0uxF5vK|fEA$*=MN#cIl@i`o#0!>({cJ!#R>8sv=s#FMcy0x&4H zLK;$e{Fq*>@JY7KZ1Y7Re$D|t`~iaCp@ExqL z3|^Fb{J2P+@d-1D><&q+!_}|k^{LUf_$mgPnxs|}6kHj&e_`gRIfjStYG>HDd0_$q z0!5Cwr6neGp8FfUCW<4DDT~XU1hR8{Nj#tJj?rjto0)r;sPAGL*1PtLmoNzM7_!J+ z?~~eH)G@I0T&DduG2LYT$kY7i&!1uV3+SCncCNIwY*2Y`)&k7~#dvphga{M2&KuO2 zM_@J_?nFccH3O%o|NZU7XT>jn)cJ%ND?pM}zrLtb__-^WI@*AFq}JCYuRZs98EgN* z02U%#Z2vAC2013=bhMZH|M3D)Txb~8dT6NUfyIuhwm_9sSIP1jp~(#)*!8LzN5pA_VO;R5-v4=yf*(27w4g82?j z{U^$tPaAiDn}*8=k87MP!6dBJq0T(8A(fPpqTzC4V0eA){Z$nqM#{=%%_oE2rPk%znn%0} zi^?Ol=W%e-p#kq_+uuNAt|OIansvp!aN|V_cL(2_u6FEPtBp+2zb8iIzMQ+nMgtw5ecymC{!PHVf8(plZ1Yq;k!E$L@T1*-#37u_rE@zE)-sWD@_ENONW)g zE7o;;w}%T}_<|$_ek_juod6=b79dzN_7Ycy6gWS70FIbnO0vRT;o00AiEYS?teS_L zB=10nG60Rsr>uw+5~<5OqA0X z<+NcfJ_&(EL(2 zavJD|?j9bc>3vOI3rI%c)qKs;&%3i=FzFkKRkteDq zm_Bmw~G%(!+4$U@aZyBIS0lQ8x?vOsbiiDT8Xrre5cCd?Z_^&F6eMp8bu< z3lL}h;Fj{nC~A&T-6o3Yqt(l~9LM+=&ta_BBSppLjY)S0{Fai}7tV-Nqz?MhF{sao0hqttA ztROy~{21=D^`paRL?|mSN1Y_fPouuL7Tx}!Wei&M3rrLFP&qUwX`Pi{7O01^DY|iU zW(I}@j&7#?&}h-JU;RQ@Y{ePzh}S%X)d zLjxcN41+&qxH?kEiLN#3eqMLppxtsPCq~#p0@H!d&*6?~jR9P0 z?MIgyBQe4^*HUL(WF9CVQ3e8vC@~Ip_Ip-VsiWQsiN>4YB56+7_B;%;-aTQ_fhsC;I~Qz#RB{r6N|lEY~LUFqMkvWOI;{O9Z|+ zK#f|rZ#X%k>PLc@6)%nkJy%2e{a$M?c0f(%Q?@%{%d?j~U}efXEd~N<5soy1SZ88j5(~+YpPuoQ;o4-STd8Af4fd+ zq^EB+UYN^l1(dNp<-Yj~w8?Kk#}oE&(|~^jZrfZ3<+aa@I-zIi4kanRUTERi{sWcZHgj_CL#C3j0z(#YwYSROUkDNKJlL9$v4Q{kvB&3S%`6LW_Z*y~V zbnTPs6j9f67<1_J=ZTG$?3xFD1l+$zOUdB+Y3SRxIKFeN00cmU{v@<;{{B6vgOB%l z(ZI~4L$lMry4aHvygeszPrif3H*E(x9w2WWU4HqIb(s}Wu)goCw|@8TA!J2COx4;J zUw#6h;H$|M4(&>MvEgb*bKlVdyPJ%V+D79h_+>|_UH8G+Lk@IIbkFNb5UpTtV|k_Y zw;v@3!hWB7yva*Q!GjY_#wn|!67hz!Uq-vmjT9XEjo?fP0>XIIx>MToz|#C@w8>D; zEgg^T^UEh7m}3?Mq|iZA#h8hpAbgDbCWM^(D%{Cb-gKLsn1GzNe1d|7!f**-kTj)Y zw^pQ>o`RUru60pay?!mjeZXVtSd%xT0clv#*t-u>GM%#6UbKTZGzlORE!N?FTs*16 z$6ULJyrtl2gMHysE3L;C7SP3yta~7V za+&nfTTE2;{Vt2VcI_HBa7xQwYHHCMJ0;C>bV|{mSGu~pe}Hcf)8|p8T;&4F9nP$5 znz(1kuy8C8M5J&D^fh=p`b_3lK+pLLjPNHECi9)>-j}|~kzex{TIHs_V#2zlX#r}91kkwmiPXKNI~`v z3i~h9MVwcgDp)ewmBH@ijv(Sb&(+8-ePZlwlKavUrJg%{CtY2QgsdQFsCwm_SeDG! z!8d{UB?nVjk<)a`bxLjY*B&ELd$W5_qTG?)O8w#iJEBW)DO2|4%l?L>{*!>th3`Lq zR<@W&#__c`#6~d6F)+;1_9P2oBV4v;Z-E+j6R4NIk5cZ@F)?#+t=8q_xM~oA22JKZ z_>tzDN!@{joLOFOzfJ=^`CCBc>41ca%F3ibW_xL15RsNf#1RLnLN_GMD{@1Tb#os~ zqu-H8BH%(0^tAEHsiMHCINXEIt8s37>vx}&v<%u8xPYIdqZsw^@!0qKQAq57rp6G8 zfnuAFl{4{?kv?#t>?3&Jwzf?C!L1|eeL@X1na^WpX#mxF=H|h$^=zS9j~~B=DE$RW zsma(^7EmN+R#xzhjg3i2NpJA;lVZG1@*4FgZkOT4EBj8OizqgxRoC_0BdvMD0@@>( zF)$_R*Ww~B=C}ScQj$WM1y8^$iD3Sx<}62-vfWPQ<>kReYzwAnY7Pz#lm1T^QDYsQ zoe{CI{!ka?(IqW#kpixcW2qt--x5pWMP#~#eH`DG?xvP1OU{7OKrZe<{wVEwcmp`y z0w7y8_VyCDw8*aQ`1tx}?prw8+BQOJoLLni1A9DN|NX|+pe`z`_55pcs-fMY~7M@@^L9@}Gl07{9KjYC6(q@)X= zFiAn@2)TE=5HSJw3hg!FTs{P0ATFi;BbvAq@AOj?_W<0a3Fp zaGr;c9+8n98ynlzxVR{gK=Hh_*r&iq9C~FU5Eu>FSS>22qLc6V@ukl@I~nn?aRCR7 zjhPU1E+SnNEj%bMUwF1;(lpGBs^Jmew6{s;z@UsocG z!mfVM4BVFWwe|Xg^~t3j%+jvR_|AtX4Jav5R0C#~D}QEU+wE~V(dY#J^hW5;Y_ISf zqBFIy;O70xb&zMXkdP1qBO~A0K}&FTA#k^Cx!G3IKw|4~>#^shztQU3o2)*RI)$l$ za%*bUy}wr7+6`@Yl~f%a`N*Ri9d)KzvkKTW4-^igNpo{^U6r!R&c><3kDMGgv4Dsd z5RheyPeP`_K(og8#}_IN`KzC4Do~aJIA@1I?2d6ANS^(W8qsl%c$WW|;{ZJM%OgNqqXTrFQd`Z%71=CqxiMo z>-q1XBs2nvAy-?PSfR-q=j>u)ZB6eDjeL|zNu*%l!_3UJJ`;2`w`7k!5`G#NZ*cY2 z?p_aj%4;A;5?6d-tPV@NvofdHhLbB^yH13k>YHDK_@> zupqKseERfhjXxSw&YGqsT8LS9T3l{^`BE9m!}i~Vx095Vr1c?JG*tQM*vK*Y%|5g} zPwszGq~Z3yKvvB zHgzwsdwp+Tt32WV*ImYvP~V6a84uAN>hvVVuRcCL%wjf_ES)9&+}7&7NR0$H2hoPf z@~O{8u*=7n2WJ+15up1A2QT2hxRsRBs;rf7-4R-{jOJ9Lhkl{1)Gd_g*$wSZJ358~ zz$3gIX=!QSg}wB^lGfb`$QlYZ^pBNgqbHm`ud(;+G&z37cs1xzVow&zSl2>C1te@okH#>OT6PB z3j>KZF)=ZoX$CXZQl~%PVqaZRCTYwPiKL6^xqU;_3p{Z5nPHJ~S$$-G_~yhA^5pW; zyawo2iPgudt5+_emhA_z5yS&kco{ug;<#e+sjT8X+kN3+9jTI2pOW2XvT3ur^dw^V z?cFsrsOOl$p%oZQusJ;yg2I+?4gsn~bvSd=U%CL&iw)=_WKHNBpW0m7Sg9;MutoAVX`Z zkHe3J07*EFfRfPwbEz)r;AY~<0v=TzG|TYUS$j}Tt%zNKS^Ly`(4_-VtAA^|d#UEk z+3~Jx6EU`qjz%s46hc2FlK>yPVN{zArR&8cCByRagyBVV1$j;@u$7kkV4uw5#|`n{ z4(_5fYed_f=-laRO&A0J=m(l)7hBQbF& zDg-`0zK2hqT)J@KLd25ccb|rPn!G9?z@pph|MrcBm6bJrAmZSF|8+<)AVury>U!SR zrZ==)l~Dg0apAxLs^;cq8+-fpc#io>7A5rsek-IfK+MBX-PGJ1apX{D-8BJz2Aa2d zH+&NZvUF00-=yr*ogO}paH_d_D+9yZaRk%u4HP}SOEU3hbEiAiTS~ zyNBGq&F(AjrzX8zscGc7!3x|J)gwnlfqmQ9+EP(dQ}YR%J&w&=urT5jeq`7xZiq-5 z3a;zTn>Wej+D;q3GwxSOXF&8qqkYiKYzKBGUd&oKIk`^JAAMa?gEZkPpnC5_qo0_V z=U%t>#Q!hx^l-ynXtl!YkfDqL-DshB{JM8Md_~HDN zp;Vp8g)tSYugv6ccz7HbY>2ZLy7t-bgORP4^=@Hd7gIB{G5N_cqXd1Cg3=;3cJ`qM zH{X3adj(q=@36jrohQ-WqudfpKp;sbdxv7$u_?dx2u^rj&BBjpuzIsi)qat#UnCeA zWFtielsfA_Ku2Rb=cTSad66O>ujjWrDLALrbTKlgN90~o)MBKO|9Hj1%{=RyB)QV$ zu%7m@9erl1ADnkrW-&Tval$`^&LF`aKRQ`9ddf}EFOTqkiqzHB!`bLH4E6OhPPpyk zHfK1reEA@cPwBl=$93Lc7TN;cN93)MXRqzk0pI)0M< zsi@}$^3izD4fy4aYx5uQoO@(fAK?i8$t%{q4w^>-kFEE+-4wI?B>&xlfp7cxUpsWj zi@tW?CAZeL?>iOU5OYPu&Y2VJ4eeHz&Ek(E5BsgdU)4EU6!GmfIM2sA=B2KFXbYC8 z{#+NP$EG`a+IySEGjYL_9rFB)S>ys$Mr%@TA3qwSx7`Dumc2OaA=t#ynh7 zj3RZ$>4CrclJR;^y9&>?Yf9{(B_A?Oe^zRrVE;`ib#g%8R%@p0-xF=yCuF=?<+JJO z58CRV8r^<}3py7apxsG6p!q3-O*O5^Yx}%Ti?|o7uAgPI1pa&nHTi_Ke@BBZe#p8s ztHqL2PwqhFW$*ZekhWe-`ZJl)#(QiR$iG~+=-aORnFGoHw4JSOkv%xWcSp$rL0ocyU@V-*K9`8P@pe$Sc>|6{7(+P=Tk*~2h8KNerqq4S_;AmSH;Mv!awRJ`H< z9wT>{r0Y-5sESt-zvAs*Hl(u+PBe*sZOkHnQd3n!I8XET!d&lZlY|>LERJE;pmOBM zo0Aq6y}66k{Ou2`tR!}LbKY>;>&!8)lhR~*w&>qOWsz3q3uzheUQ@3b7^#i%xd-ET1O8fE0<){|$|d%)+%gS0j;t2Yi06!7+{t%b7;^{To-g*j?e0(YfmK`7I|ub`(SqPYzC~!>dnSKj?qR3s+?dtP4Dxzu+89p- z9;5jAiu=UOGFRU=ukG~ADVL0aP{2G&!NLhXxV#nbA<+}RSuo%HNyF1_h+23%% z!1`Q;QatjIE$ZYRuI^*i33?}gDo{7*opo)qxIimc7{gELJJKQdKC?kb)BvXFx~CNt z4WGe)I1zYklb?bB=e;qXHHFp##$v4$+!fqfRA(EdvT4U&cIeH*rOx%P`DuZO@^QQQkeA^l0;~^DmV4=ORcISkBCx?ZShr?jRL8;(hn=k!aJeA+ATiH~n zUsSNhx?HzEp(JV|()d>6fVOnw9eJ{ja@IdCj*w&q%<%`+$Rs1p8YVOXr~aU9dyX)n zzmi>l@&8@Q+{FToZ{_*D9m!L=T#Z;Q$^7Qcn^mf+wfdpTHrH<6>?)`(ywt%tM5`KD z(v=+>rdRU6?PmGk?RHtTv)Wwi=@}OfFZKrgJ^VUB1SZk6%CKWRdGtC;);XA7utR$i zkWpP2F1hBk0oj269wS3W@M(jXbaOm+@;2HT$OQYOyIO6x;A z{}&bRojO_iEMd54lm{C)M@)^Z#fuUD+WO|PM6q0s8~=7B{<$OVgK+Def18W@G{?WU zxm$}_Dpuz|X@G{i*t!r9PT6Vm7`^|*%J!@H`wZ=0vTxk1^b5~HS43(ix1Prb08Y9@ z>x2tVOh8nIVhbn_nOBW1d6Mf^xg2xl;Am9Ju|hTsh*>XRxe{7cr2vnp%=j*3rbf)< zh;brVV|RmB{>}!<9&Cj2iJowq%Wb$gu0!>{=Eke=*x1;Z!lP0sJ-VKr-9xbf zlNj3c!W&~;VU>Z1VJwx<{^)>PvZoS$18s}dO!|F>tqzih&Jm*{49lq~psQ?x#5PkL z1#ywbT_uVQAr+vw=-ecv0cm-vQgDp8z4~340qV!?3#xQQH z6q`k0AnHSkm{SY$FQ7N?2f;D0KsDm)R~3nlEtl=^4*uAacoHJ@Le7IGeQ;`w&dwIt zz#)G#!szrJ^bycU(pZX`*S?B#;8c) z$-{@g&%w=vb~aGt-ejk@t=8Vuxgx2wCa`6E^X(1VHUG05cYhjYZr06O5-_H== zMDvmDbm7pQwKw_mZKJyu7nd<7MNzi3<;J%hH8#%Da~)o~foWFfaTVSz1PR7RS<*=G zF*woytFE)AgjYOT&mRPN*z+au*cQP_o zL1nFZ=+FTVkD{JNa4va7M0E1Tz*Rj61RQ>=l8To^9h{uVKTk{-D|0F9>&K}N4x(R# zi!QgYaOA|g^uwKt-bAe2GHE7X`2pQ;-(qtm=XlBd_Kq9R)fo_0IM#r1^roFO~ge|9no z0Ij9d&S5eZ17cotm0Oip+L3YBWkUUdTiOP|qM!qB2eGiL%70%*M#fc?a{%y>3J7Kq zxcEzNQ48HahMn~Cfr~)W87U#y9|Sf6ZqW$k=~YB3cvnJj;~~_?4aqStA74@Mu}4lD z!3Ezvdke}e!rjwfVdCVB#V&^II9a5|)YSA2Rw#x$PWemc6R%&l0}KRYN)&2S?rn50 zMrQf}j}W^lf;C;L)m!iu3sd1H+A;8SFk`V9lFU1pqD94?hfi{ThZ*u{|JMv3>hY&aoq4(X_3dMUj8x z+}5X%s^JgDA`ELX?(&r<#%m#9MA-lO)~2sPy>8tAsL;gO156*`SyKR-*Y_Nwr-1rP zjdw8(eHJ`;w!jOIQa4C{`t+1}<1561E{H_%0$#=h;z2<+REEpAIA~zu_LUI%K{di4E-pSk4e$-KM@CpmT|iQ6 zQaFX%gbBz6=ouiIxdhafM@EJjvjcnkOBXK^zZixq2T5>Lk77>$RYH6@d>4NSCht2f zI-B}uDtJW|?-JUwOF*xLo2|`IECPBpu+;>5d9%t@;u3UAD57)~Gy4sJq zxdyi`xgA$Spp`=e!&-|3sJp?l#PL6jkwWol_((+mS)AoY{-4u(z2 zZf@fOT-c05!}aoZ&ds#6SPa7fxp1SXA%j+Nh7Am?tm|Ro1YHyI&JHZRm#wXZL)M25A31Ve$hgUZ z+sIn9YWX8Xe}v{KEx1=)oC^CA-#^*+EOv*4({scz%&Bg$O5jgpi#QE>0@dm62J@Pg zOrUTz?(>sY5G$>^e*L<0RVqXk1J6TOkM}JED8io*B#G$uc74od&NmL`7(F0D5G_g) zubTerZf`iC(a_P^^+}vLbH>obWG9%~n9KptCfq;CQzCI#LYS90z{mubp_`_-mP_=( z^~6Lny~1aa73!eyBQiK*NzS_^6d@-!mu^)k1vCAdVz#T`=hAggryari2gIhUDKc#I zfabWjTtO6%{I7zXcpzY8Z3|z9GXW@hkP~g3oG!wj#iqZ8jEla^EQpDTDH|CvqQ-<7 z?lC*4*NC@Bi!8AWKs-rYewvg-P{M18iQzyJ5%fvz8TKDLaDn-tPtSrmVJ$x%aS#(O z48C?MD6kXmEkZW}Id;mOhwe9UNzgyhV%OWQyngeB7=a@PHi9Mn?+IHyWdd|$@asLP zwGO(?$}Z>#oj1G%T{2{F#jz|bEH&NTN$h7q_3Xn{V*!Em>=R&U0048#mb%wk$h{8( z7CaGrLu>mV4psu(hrbO8`Mo^ilE{_H*toiG5Ed3D9_)=}Tdw?5YT}_-t#z=oTV-!=52f1x zmU;s=EaULjmfyv2nWUkoZ$Koax_pK%%lEj8%X<7hAmiMS3!W?zf@Kc|3YcFf>`1wv znTe6@fqtQzxL`7d!@C`S25=T{o2(dw9jLtP;dJFVdB(wk7Y$M~(fW zr&l3$)}r2g=-erEGdWp{eF>|<9%Y{^eNDeRF+{%e`0+L(4~>jeMV;aF=2nhRQN;HF z>`6idg9dYhrRa9l)bzwK9+?MYumNlu*qp?FEII=?7pWINB1Q(40Sj9~e#_~bnF-E* zM24~-YEE<&Z+ZEW20$xxFwa5yynuiN?F}pF|7&9#?PJH@rmudJrbKo*iUZ7|jrv{o zgRhOXNSp(5Zr#t$rhy9t-LB6=!^3tk#KHh+GiCaC3#K|KhGZaygmT|mBn*>UJ5G5jdB!If3O6lO%_1PaERG{rpR4@4gU`6TD?=TRPl^$_J2=K#g{Yl= zh5sARX?hrEuXO6K)VJ{)o0>9PWP=sJh8}D!jtg@yw?xxI#OLjqk=Pv_*-~mJPYM#( zc;ZL{BWE={b6Xpm5V%L!!^ubU$Pt8pxgQuzyyE3SsshtY0kdC{(?M~4B0phn%u=vqG?E>Zs5_#;wH#bS0j_6IKNgg7NcRLc2cn2#O9Ot;Ovh z;N8-Xh4CBri8}i{Xy56u?=@$XCQ|;NKRq$Eq(B0@*&@WO$Zjpn+4qoOfeQvha6PnN zw5SgyUEXg%vq};znQmh=LYz~;DT|YRR#GAbif0J7>P6%n_5ejpboeJAv4{Z8m2Bm% zN5^A3#$P5AHKNUnRm9x}ECt)CM*N&SUW_dUZyXCc0P2oIoEn}A^w#&L{Ox5*v$8fiHnnLjf$Yib4UyRRbMV~1}UTb^e-g6RR(Rn$e)mk-eX#N zEpVyusr&%(NXsqRt#Eg;Sy@R#?n9@#Q(D?Mv#X_??@ToG@wMQCKrV6+FT~c)?mRw5 z^3Ns?`RAxozCcHY+3um+`DJA{MGU*Ux@^GWBw7okOk&1>pR?ga_6X6UhrO?K~bi^#urj(xUiy_$xRs_ER zW@pA6L&=?+n@i#!*4~SE@8YdK9kaHMfh-z}P5tf>#wcK_8TdH-H*U&!@E~*P;pfnr z5kD{lRCrhJSW>up94HMe1Zoll4a6W_E32r;xOXp1t1gZiNb)a^qD!kS{Uh-45g1LrUgrii??M1 zmHT!hXzqI4glu7NU|!wLgRk1!HX}lZU(%2OtR!vb<>S-vwaMTIy!B3a1%)aTex^N& zAixc)QHzyXilQBO&SZ~-xS5HG|I9e7wz#%j`GS@LGzQI*7?e4+2!e0#9om}oepBvV zNy&u8%>6TGn>d?zkE72*DNgnmfam)# zxnJ4sMu8~tzx6)Z16S;~P?Le?K{^EN0N0=F=zpOydc`(|EleUOM6a&tbPP{EeD8av zgbzF)nVJ5xaK^Gaz-;(8_6LuW5-0L9h@a|c-n-0_(D<1aJJ3Q@mGSs&5Rw*FA_X^y zO-zh9#`pN*B~|!LkZ4(3SGNWQv5eQZt2Jl-)l}Y#y|u6HvDPdZ34fb^L5l!QQd_iu-ONS5TW@i%)6?nD^J|Fu>MJr}c;}7$A+1b(~`)g1Z29q1O+qOV#3d^n<3C1x*{qBq=*DT2r8BOd@; zhw#E75K1X^Y8sfzCr-TpYodE{-O5tmidgX9fYPIDFUxU|t_red-;vvA@5OASp$Spu z3IWN0d?`F><`mEjynvLW`-%ga$XdMpF8i6EKf3~)(OrH6pUsff8Py%CI%)uYMqOFD zjG394gt~zGsp&|zq_p%!DDq)i03YYGQ>h=Prc=!=Dgh3!*%;PJ^Nd7{I`JF{PJL?PRVH2(yC1~h9?=ZNsTX6;%k z3LL*K0C;&M+>PY{4*&)>w%w1+qcOFjW6XQ$LPoZ!C=MPE}m9kYp{m5GSAs4fTF?kQ}QO>1pL zIQ0sC;Yl(Bau$UW#i^7kQl^Q=ZCgm}6VW;(oV&Ha7lfQVR2s0Ff)W(860FFQpzp1Z zW4^e{uoOzZLqGonUQIO0AE&H7`#ag&*G>vEfk)S=sAh#YQRhEZwQFXoMUg5Bb-}CK zW=#(Qw$iNev`~KUgtYv{vmD{r)qj)Pwpp*0AGMphzsk$XnoYPMQ|(Bp+beOBj~xWg z5Z@AZ1I_%V#zqa>rA^9}`&OOF2bJA3&HnW1RwnZy##AyP%-FxI6BMubEX#v8_<%^T zREcH=b7rML=1X{iaG%vZ0u;?>Q(E%EY6_f=RxxaM*;b-H1C^$8=f-%Y9Jygd)Vk1i z*_=3Wd0~ceCBg;|krF}(dC2y3Y5R`9VGDPg)YjG}JSfUQX?vW1_g)UApq5fAKtyHD zK(e1^WP#gSQhGjq8!Kxh7V9bs=;3(}??@tZ5j!T(MD!;{`IP+C)fZE?y4u-gxEBu- z+ZWI}C`XeEiBBbnnh8s$fL8&dt)dWHF2nR#KxHpW&l3hTKs4@InVD1=SnUMUaM<^n zW*w6dR>Ur;>3nGv6YIE6jTD^F{RSYR`Sq0@*xwhhr(l*)bL;l2A!77R2|@WE|N3Oo zGl}qK99Qvjxf=Z6>=K@eOUG0N$u9Kl7bf(aNov0Y#HiHgQ7&!eO(9lB6FI59p>9H^3Rmf)zQHC(64i+rc;K34h}OgeK1 z+QnJXU#fjWlQ;sCFuN5tPR>FPc{Nt!)dNX6A!Rfcj}$hj7B^NF&s_!)m!xlEh=$B> zkHVqr$!Sg`y9TDO35>}waoolffu^i$EPH|dD({vnKqew_7yTeCbv+AK@@H?Uc9sgZ zHL$d7Ic4);+#km}Y)#rx7zIdV?kTX>v*9C@ze}gDR32md7p&6^Q~qQLx2(+M<>vlC z%R7icIHP~ zJo2cRw6s&OZQ&km@$rF@Y)BIs6caB{lsu*Dz+bwmd8HxW#r zlZ4qP6}CHRJYaC5jD^tYJdsYDrHNAIu2(A$j`TzGh{zjGTPF0??L>=Bk2mlnLG2jc zc};t#ms&!iq76_e5C-|&cFqU^Vad+9APL&+N*789kf@#TB7a|F{o3W|tX!St-OBS8 zsMvdrdC~Tvb};d!AC@yUHok~Lz0~I4@Wv{4h3zg%5@vZ{G0;mxP?G~_c!6_WAQn*t zWc(Jg-~2|Z<_6t}h9hzIoPNSays~m~c~v)r?Xe1hh$;~j3(jHvC_KTqa%>z#{cz*y z=p{i4>GsnC=aSl)wOu6C7D6CV%g?Jti9v@O1%NUL4WNE_I8ZFh3NP9aU!J7>d3C(& zC0puLbz&fXDQ+LxyH>o(|M`%oIP5e@AA^4WA1N8wHP+#F^r>pkf|g0KR8nv#wMX$; z%ZRXu$VQd)qo?$=x_?`EezfY9`PALL0~PIFzpbc`34FR`%XtJrJ5b{F!}+p899>-U z=GN#AKQ-)~*X*88@awCot#w(hJj_x1xY&Wtjh>!fE7GdO3jB?4>;F+T68?-IO*?eg zVK0cSSr0X&REw_~NNnz(Ss)u5HG&7K3^eH6m^~45666>J%FCEx7EgTd$OInX2F6|2 z;800?JjOj)^L9qqOssjO4sTEhb$55`=MUW+qs9;{ou4!(jg9uF+CxxI>fMi1j z_sWgb510CoD_3X&pI50q6h@&WisT=U2SR_Q|-(6y8~ znVSOT++3@+oV=0vyt2TyTzT=rVFjYZc?*Fx>Ktw%Av(;}2wxa58R;5vBpzwTk9Jud zU~KN`rCJ%11MYy1?>q{*mNUHb?YW2c?t3sHSMxRI=g%z2U9kJsAk^d79J(cIV?)D- zOWlyU7@mAJm5lKuyaDdCmk6G#ymKccun&i%Bu-8VANpD4G^yuS{-}DF!xojxJcbW= z!X(Ao-TsX7aBS7^oMU)req=|}$jg*vj0U2hWg^KR6aN>W1h_*Gg=YE=22XH^JAlND zc}l_ZtD~DGY99dU#n980>OTLlN1(ma2dMm1xfldQK8mk)X)^PSdo+WRBB8;K1C^#p zIV#@c9|GZv4!zMH2D~E(68bT%L3aq8u@3lT3^W$wJtc?p!_d3bWd!-p=x!*Ivji(g@|y zHyj)mvO;GFT)gbe2t8$X{f@Z8)kmvO=gGHp?G+YYk0w;;(`v{1Bf##7T?N2y4fNbt zg=>^6&mA>e8tv(LzZ}{`-RC#L9^FtCrzYuGp03Gj$7zzly4OEm!S_c|HE;L+@$FsQVJ9L{B}WsL%LwNG z=7O4kNv8qietk+A#Q_Jlg4w|=;k1EOHN`(* z>a#*AqqPo(Xh4D~lxVsGA!U@7ZRH6=*C8gfGtm@mPFc5!V*?J1K}SjuO}rh~k+oS@ zGew8Jaip8DtC|@qFfe(A<*8@lfljC>~Co+rxoBI^z$jE-E=`lGx-&}aNbY9Q%{oRU`xBF#fi<&wxs{{Fj099K` z;9ymLMF$f@GNqs>L)23;%2%k{qFs$~$E#1VLYPY-M|*pcf8Q@;rm*9+<|9NzL>zl-PR?{2lyFoUDHp$ z&bSb=0t#3P1psv|`gyQdNTmqcgo{_;=g*%3X9x%i66w!Z#Sv(|=yp|7+00jpLir7E zD(8ud`ZF`QwX>yPO7P;!`)=TBb0qz4U{DoG8fKHDN59a7#N)j1s_g8`itkQ8=;{6a zodmh=*Xr2q{%H2-!6L!vTLTglaCjcVW$+Im4@#Xv+I^iA{xhkV8`xnUScXl7!AJK2 z2h25r0o2f6y?yIe*9$wVButaXCngBN3b$a7i2@nV;E03EaQ-8K0m>}Hvb4lpBHN)n z2bZQOX!#r|0&z}lBUG`+Q@0L5RZgHWrJLfBT;IY`XB+yd9PgsoY4k{Z~O+*Nc_6dUr+|5Imrf{HwKUd z-pCE}`Ae-MkCxbPW55KqMFSA7ZvQ%7dRzjTJ93@+gript(F+~mVz>i&A0}bsSWTeU znW?=D=$JN!l)WVGKGNJGd-gQqmdL3x%3KT&C%k^8qZkY0e{WPa^DJ>wP9YPiu30%Aq+$4&RjCv$i9CYTG3S$45IDf z6in>8)xv!TXF=m4Zriwjn6S2j3z8lGfozJa$&X)&1KzDE{Y_6x`vMT>G_XYOojWgl z8aod844GzN=!Z!U)9$OckC%g{6veuap6KZaepv(s5H}t?c{h{+abAh6Twxf55%n5{ zf;HkBJ^Ba~7 zhkh*+6BD4u)f5ymL{v!zhjMQmdbWOsVK)GImi%*ZQ0Z*LVxZk_g1eBCZ5eIqDk`I#U zI?6g24cO!~d162gQ%V|meQw94Jc=L06CngItkj3|j}XCFo{<#5CgV=Q?KoJh0@7rM zcSA!%gR@k|yW^J?Puigf2l0W3s{vQSBHRc!dkb>tlY3O*w*| zXmNS6_er7p(n+cTBRyC;tl@gYjsB*a#|ESd(&#WV(?H1^J_1Wb`+3)=cseizkHX}p z^f?~`O;=(N=5W_Wzpc6)S=BO)#0TmdzjdWA6>47;e1N33VuW-7oE-JSYYZxn)!g2_ zbUBUC>yo9LRxKtVaH0zBz~6n{+}_IbY63<{DJk}ddoa0Li}O`I5dA?-)1Ew&BIR-s zW3eVTK7Mc&knKJ`J-aES%o|8_l40*^2?+_Dac$P0D!XXs>>PoYWlzTK;6xGrAOMI* zv0&lXKpG9|%Q{Ll^&p-C5nv**{J?ph#lpdq=`XhgCvghaDqwvQ#M&GUaPe9}j@U+~ zOW=W#ZN5)-VA_}X9w3{?f=)zE8p3yiBB1Zj83;ub3!^7CRx^_%AnDyABAL?E!_&Tm ziK{Ll5EvMU?})@6g5wetyJ3Ojh<2|2O|WHofr$k`ebhsw^1)vtx<)1y9UYzN+D%FV zpMF(TBX(>+ELKGqNJt0JuGXR-MW!0pCaTjNWVC8#mSkP<0z)6%9XY!0$3Xph?OQUN z!7sx|ZG2=1GPVnvyfsMN+fo~Gn8v=m|C*14jJ?fTJPi z_3bETvnu`5sN~hjgnVKm^KT$>^@)#V;$RAsz9!-NbskVBkck2Gf5S8sk?_Ivo(+VN zj8k6N(IOH9!{XxNu2r}3KswG~0=FLb0T`zrZv-|K0G6QVWHpC9H~yivzFzI_7~Bc^ z|16a_PlL#DQ(<7!+2L|7pfj(Nw9BHAnnIef;usFXb-HIamNTa<3V0&zU92fXwyczxhT zkY|FCy5jFItMi?Th_2<}GuexH-^e21)dYV5N}#EwrGgp_bv4dZCdYJ<0XAlRbn9ga zJrwJUNU||w02Bx9GZ=5r0Xvd&$neTD=Oi47NSh3@I3GQJ?9k{W)p#QgDBzc&p-lI< zXjpO(1~P%#01&GnAxA|=%EFPTFEF3G1bMsiu&Gl(H>MpW1?BLgAg1*e zFNtXpz9^C7U9OQZ@bYkbvth+lSTmtgsX?eE+5m{lAoRTp>iBQWb-u1|^CY*@Y$!o!kqSV*!)G2zrdF^D$D{g%S zg6Qn9{7FSX+$Uj5@nXo6kj+tq+hc^~N*$Jrcg(eoE^%1spN9pcP+g^NtYBXwAFY8E zhs^%{un1;CnH#5NC5|9PGCdKTF!ZTrNu1|_LkC%#-TWc8Cr@6%fSnugJ@J3UaQLXH zDN&MdK$1eX)j*OW3+it{Xn6sc#x}SrG~BYtbm1rxF+nEyF05xc;b-(YcqOoWem z-i=*Ot{rS7tG8=an^ z;l0P<=d(WGbfPsbE-vA;npT1$BH;HKEFQjeu>ch|`JUopyZNbH7c|4bRS+`_Z!$P% z;Ae!H2Bszj=Xy{29#$YP1uWm_;|@J8AS+;D<|qqe07v_H2U@BOY*4)A?q?&PAj^_TPW9Rl(*t1!gn^rzOw2JNS5n zaPn|KZtjBz=qAF==kFAtNKHp1df${?0!$vA*Ckv`kL<=Xu2v(Qn3sT&xd>9RG7DW@X{|OxOkgE>o2Fp{3sXmMcNrzz=l<`eG#T8UsG3Pv0{R(FP9aPeL<3^jY?^OO zc@BSzTSxXEW{8F~wZH~mEQEW5?y3!t3$aJQVDZ-T3Pg8e`>((zcz^+a?ck?!VA=pf z!cZ;VMJ+<)66D-j^jyl3bkSzp264p z9vDqu{rB^qKXGCMizE$}R+-NP3z~6(g5%8VQ1lTGI3lszq^`-ZG3C^!iga|mI75mD zhPDt6ik?~z`Y{p#aXNeQ=7JjeTWk6SfvsFb)kh|ED5UD)fl==U?(t2?Barme`vPfj z6xI1`sb3=J%LYLb9qk95@jlfLlz`v%!((oBYRnZb78VJomgj(Z5Xdg0EP**VIhhmq z)G4tudp93cb;2kM$BL|h7sj1;-*K?`8YK3|xX3qKdAE`aIUp%X4*HY-@qBe>^%AJ_ z6^=oI18*GBAd98EK7n&*?yGX+Qdneo^DfK9Kn!^-GB$PvR*!v(0j&!23Fr26oImjr zvtDrKy589`)VW2XR(yTv-+dmu8(O`@AeD(eFqJ+O_fw|BWv2G=8XDe-UAm3R|DMIa zSM~2&7{bn&>Qevz{uLK#t!cdZKfm&S|6h&^4vhcTr~mt-esTPAG+6yi2ceP)S^y#D zlJ9;d@;LuL|M{yj@ts1GQ7wCR^41i7{rV62R{7ZugBifwBffa!WuKa$3q*Y@$+8jn z!sK`NQ#(LQCA~I72}J3I z{|Qog%zs`d&5iUHp$t9H$NttkJxYp>i4mRm+P&t$pYS91Yk^KvQT9Chvv;y$OmvgR z!H!*I=n8y{Lg5Vh%?)y#Jlp2~K6jZBEbZS&^b|^3z)xD-nF1?=ULg)uWCe#DfXtT0 zJY3+xW!2({6Wa(=NuP_RCYqcx2_hGm`2_|_>n>2C38A9Eji{bIee=efND9*n(kZVw zVsO|Dd1+_WkiyOcj6y~422k{zBALDcYotjST+2e;opzlH~;$>K8gQ?ZHzu7 z-+8g;7Uver|NP6E^bJjTVs}4`nW3?K^Ui~zF5dy9@V8^LWPk`)#({?uK!J;Z8;WhX zU}EjJ7B~zg1U(3u0{#8_*B7{(+g#J@*Nh{4$pF6)y*9%o6IBdG+b>Q?4sfpgrUtrq z0ll`zGn88W2#%%ST~I5KxJ9vnfeA*?b@1Mb1Sk7tgUj9|ataLPIS4ZmNCVxjBQo^B zEC?YV$Rf(*jQ~=}!FDL?nfH4MfF?XSzU_SyoJ9$<7z_+@!aUko;^Bm&)9HZbpfx2! zFfrs^a{8$B(%%uKl>;b$kwHW8m4Y0Dq#b`@^FJ5!dLQ)FL=*tZM;J5^VV5r51%H8H z{Ma-FWoh+xFHp@*1FslBR|i!>2&77cYD(mS%wiPKlS9q(FSebi14GJrCIBa*vY}d* z4kQ?+P@+~PeChpwlk6aI5-XXCf|CsiJ$Z3%B64Z+sct|Zd1VD{Z+R2y?WVl|ER|IJ zz0^>U>K|twcAwOhMAmjoDVW3Q(GGCy%0^QCiL3d;-7fE>F;WF(n&SHG(W@6T@_!dv zgKKQW?qI<)%lSNbXG(^e==Xof$8O%Keg_Ur^u5pruoFlF&&{bdRivN~>{O8U$?a&T z%9~A#x8S%gr_ z;6kwDTTLPLPUo<{z4 z^AO??PCp*%i>#gPcM*V2|pj79A>af|_B|>-t1Ovbe z-9)P5sB75w*7?_f>3Lws=bI+BM>)+o;O$WJ{HGERk`7@%sW~nevn9;}LYJ|QG41kdQbrJ|!ma(@%~?7q*72Ax!1~m~3a4$A z4C>yJ(PR6~&&&G-Q(owx@mYR$R|YFg#B#$s2Z-gNGOCeM9?4d z(y-N?9+?GLuK`?OC6a~bcDd2KI-q>~Oy;}q2r)evBVBdn4B$r@>^#;pPWynh5Z+qg=1ct$+dk46# zuVd`!;BdK5kJEo#ymGpM6b1AdLeCy@Q=ctefD+hMPYU2ir0XTl$(El%tk`J0WmY7eE z<`oX0gYAsD4VD+SV}J0<5+_+ajSulQ>W*D~z{A2fJw3fCS(|?a*r?YEWU;Jsbz616 z%JfBYO>Tgd?g26`fGh&AM9t;RI~{thu#bQ?t|R2$YU9R50Gb{M7eIzqp&-VYCTl=W zc?%C>qN~A*F)efFrhI|8P#w^U+uUhz)AD2T!s_jCOp*-w1LS-hlp;{asspV;`$RY_ zMEPP_z6A*G*|DO~W?^c~-mUWOY}VuU8&@C5`D1rQZP*F@EAj2)eisPXzXVKjbZ(O#f1@4 zLUa^PTzLTu6pAMvr%wdE#-@7m-Ng4J1RD%$iC3-OqqHLRDBM2~7Yq2ik=|L>&vM`U zD42%B%8UcQXm0ELW%+(CxccslHcw=>Afmk*hF;`27`#m&$b*Q>M5st$RMOgmjFS~6AE4@XA0F zxQP0U75mBe&vc^)s^>e{)`TtjUuD`LsimNFr=kFy34ikBN!gy-vK9MQ=MwS|02&-X zm;kUzA2Uc=7?Kmow25@tShXFmENc+^Y7q30$;ep>HS71>L6t?~HCVzAal+KO9ecXZ zpe`VFt^lkaFd@T4BL)otHzY48SP2^tvF!&`2IOA=QE!_clA%9cIlb=JIR)UVKf3H= z$&uqk5`cp28tnI=jsWDibwH8uJ@9JC(I|R*X$Os{zN_8B$bGX~r|Kq!FcblI@xh~c zoy4Th**SMy?Hm?;m^?ZQ^`@1-^Uq?D(U-gtZO_JK^RTdj_(&iboMMkU>ApZ7g4)K^ zk@U6`q?CcvyF;}j5m=?TYm!JQ5#&@FRL+(a_ojg2m zpPW8MycCHT4tQWFIr9fourp)R#1RFCT(!_gk_%{q6vo2>RCprxCf@-x;p~{lL^qD< z#_>ON`Nol0*zbphUSgC)Y8T`mGI*FqCM8FMq6S@iRQ8)3DCQI!49;*6v5D*Asdrf$ zvFvTmc;{nT13s{oPO0}ME;ImH90#|q3&8xI^s@nhf%R_b>FJ0N)CiQm8rI#q3~RW* zh<-QdZEddLSUHkle11*tgnfLxW`Vqt6r(wB@#W+=Ozsf7>`@*L)E~sYCG$|cexjA) z-L;DhcBS{)fL#h^^FFWr?2zjLIDYFKxE;6(9yTRJgTwEhx|uR537-9(-Gju0`rShO zE+ktV%0u&Su{_E@K1%@SkNDk4?@+EO=g4HLguT);MrtSH6tj?qtHon9c z(L$bm{Q=+e)SLkf%0oBCP^voj`lW6!q_E2Sx|bAhE7-!$?zS^mUI(v_-Fg8hEgeKZ zbAC`JMR@$<0VFvb21Iw~XRcgM_7+m7rUosZe8OQO8iNzh*HIvU?QkC2zlQ8PAZf@C zHVDH5ivW*{wrL`YGRD>xyXGH`qv6{EHox1!M1?1IL7UHWU0$qnF4?QK&t&PL>2CVd zQnFber>)%feAMROicX*_dD7&DX5^UK*Gq845C@>29WMLm_!E6{I2r0U=;dGcENmj24uj${=ck zqe~Bj?)+RT*U#Cn%e5=_UM0AV6d}%FnCV-@g1E5TxC?Te}P4hc29NMMlLyh`MEJ>U4 zMa_R?H@4XiBxjHkw#BYuAT3--`1?e0sB>u zJ~y|r5*$c7kXFzn#y+?u`DIcv9dBMIoylpb&AKI+o%7%;bjnEg^T?%lJXSz& z{Lnn##*7J_QohH^s*-$Ok37=cp~9*ce}#kV>t*YZ{D$A#g8)gZ?C4huzNBDj-m3+l zaMX^J5M+nipVts91}sh5Jq|lK+$;NoG>o%;dnd%{8cE$4w6c6QMYazQ^m4MQa~c;- z#^x<7ED?%9Mt2)ep2NgIZ&kD3-YYt3RLWs7|#op}e-I&$^}C6RH1b1g=2IFSrnd=)BM zlUG4ov?z09A9O3fJ&=~H^LRzlCioi&qjHtLdDRUf;HX|O&NFhoFL~+aQ-%f+G%sXc zT3f0zMBP8T&hYv^PS7EUz8pBfA4p_zLWmrWZi~Pz3K`$bru{!meF->}d;9-bDx|Vz zN!i1YEfi4*G4?TI-?t(vqEKj&EM=V`yD*p;TXv$wl5EMIEkzQN5Q^}>pL5Q8{r=~A zyLvlI@yz$RzxVyw?jF@uW|-9<0N$+%Y2|QZv_cby_yQo$czAJ!hw+}k55IrlE(I*8 z&|=|)2%b1`0Bpc4`T^XJb)Jnk!Kb(I>wc6id9U#bbV(xy^nAc}LeC-$FgA?ND0D@K zpGwAKU&?=(Zw+-U%asC2$LHdXV%2%Oq_edSRuuSK6N*IB2SR z-Yt(#%HeH3N7X5Tu70NF(Ko) z)q)g|*d1uL_dspU7e^r&1n@evg*J)|sHp4YpeSUg6*RagblV~5?%{-KnwZ4>wl_2| z2z%{#?G`6(hS9!Pf0W6F`L>2E(oZDOXy3qb=W`oNKq{5N!EssNf=|0(e`uJ?q4yGe?IM>D}#i5Bn}3u4OGxKz~RpSbk+t4Yf1(_(y*{( z`yg@;sJbW4m>$qjFag}`EQF~%Eh=J$raz}>6x>NLai9i*-_L$y>fTf@iD^U#V}zbW zA^sM`w*k59`PR?jchcj_u48v9Yg<(XJqRBY70$g1zcHEqf$Tm4=rKUUHHCG!_m&;X z4CI7M9Si;Y&z=ONWdu?d@NBEX`58BRY! zSRoN~3yogRE*Ca4ovo5W;zSt6t>y61YtmK43p+7G`)jdGz;}M_a=-pKFZ%t*-rJ89 ziMjybnC_frx5lJ6RS~bLFVYV!ij?vN8+(0cu#&(qxX_`>SFK^-X9Tz;+^FC@7R!db zE^r$nZx8AYBm40I4_jGCDuSgUtiXK(8=hquVpO=d7kEry?uv%C>1sm8r@oy;63TN5 zQ$g>xvtIMEJ?be`pJqqdS~aE5mcG}I==)SpaPl?E1mC`mLfxG3=K}O*5gWShatLw| z5X=S!e4&HKR3i{?I`|_1>VH4yhcqtGT!#TbKOFR8VjryM1sTmb1g8V@*)#x;$SetW zFe1-{1OoI4A^#34=+qgyu6=Yz)aDNV-7W&E- zc+s3>xwFmxky@ILewhA|xi+E7rU&*P-E z;rE0NzZHQJ0VMbYGkgm`JP3^N%}?c@CNIUS3OcZZ2sw`64^SYH%#PmxL?c`SNk7>c z9Lfhf6IuMv2l*o?Mzkt7lSaU!R3^>~&K-LB3HsP}d-1w*2XE1&zF0E6;CyX$w~sA6 z=g3a~CYRP-?tL^e=$4#|Qkt7v{D_zPmk|1@tCC_>-ybA3cKPC6C0duH_7~;TQlAnJ zdO@Q_E=x~NwpeoOyke1VS4d1uq|3&Bd+QbfEZ}E&jdXw$N9J<)nuVZig@MttiWdf> zYZ+4u5YGqvNf=^kfPVz_bWfYl)cA9F&g%F7oE2|;ORb(xf*B1(oV-67v~XfX3ACpm z6D7M5VpuDO4*vbAgw`w z&mwb4#FU4O6o?!JQFDPp!x<)msvlWyR$#>2kH`b`Wg5faCW7Q8M4o>aFjbgL?!kmn zZ4~?2NElQbuN+?P0pbG%Z4oU>7J}p!z@_<<_73dC^K1e{b%$Kw;^_qjxb5R6DN_JU zm58%3Y`_&8;02`;PA~$q)ceidgWf)BZ2pMHfvXqq7bEjG6rm|ctAkIOBluwKL!tG% zBpP1;<3=@PUX+HLf-cGJwGSU6D1*rfUp)ce%ejZ!3~RrRw$6Q1WhiGVEV{q+ZWfUd z0RF83k01U50Mfa_Zu2%6OonU6A%BShDLT;NBB5RCKskeF)4)PvNElEE6pDy(;{{Y2 zfz?gemGMX9W~3!%baj<4UzT}l%VA;Ug7cjHZiyLa(^`}2L`O+Tu)W5fu-94OU8A@rNCou3WVkAKS0adLVZ;6wUp!vYKjYCyV; zDDXoT5LE|X0KTrILmXWc+>8l@D<~-DtS{U5pNnBzGX@}|l`(O8divSLo@3Ye_C40g zJuU7d25k=e%d%Z)C=ZS?CFs13D{u3xa)$9PY700u+QNn)Z13F!_fg|^XI>{g=CC( zyUNSKo!kUJGcIr^wzn{ydRlxx?Zc3l(#fW7M_Jr+naY#g%;@{Cv*pvei=et3*n2r3k?|3sS{>6>FQvR*sw2I-vzROlW)IMX{J5w7b=c9nz zm|a*%+y9=snHA^;!0-qYfHW#TOP>S~B=18TjN@RKq>Y&_yY^YrCvyNCdjlurVA(G( zR4l$WC-_7_?zGP&P~$`KlQsn@DFfRbfOu^^C0%t#5VFhFefR*o zpOFo(M=%ak!Zw61R7=oFAj=<;Wy*m_jQh?_&BNiA~ zqJ{6i%slTD@^Mt?k&ObcVR0w($4Fg=vA)TB(9C^HOc0=er{k{^AR^}iRbt*?U{M!b zQB>}0_C|NE$utooK(sd1QiV*5Ge*Hp%AtC>S z!GeiB8{liuoJIvd;!|dm>TGg;_6fA6l{~7D)%F=+7;RW6J>?kTW(CTFGf=dV6s)e4 zlRhh7+C3Lf$27wQ@e?jFXPEP+HW8E#0M;{r$eS!i1;J+mZvk}0yr}n(43xGA+R>>y zvT$iYl~3f11rYcR@b<0?pBCVjgzp7~-nY_cAlJ0butdId2UR~6Uz>YvZQu1R{?DXy zEyFrSdfIn!=nv6*L}@-p#g!+Ut_xw%reElzgq^0NzL>IMA;L2%hmw<{DcZ>M_)Sn_ zJD;)K@w&E)yWBJMPjau%>M~=p*van`60J(2q%1^|gzt)aFML}o`SrqQtfkF~C`9Puls<@p(i{_8M7C!*9C&KTfEk|&C&Up#K+)w9r|HO7zL%DYX(&XUe z5g^h~ci@Rkfl97&1X8;q5Y7`g4|0vq{$|-JK2x|?0)EuZBAx+Ybb;h_0{R3|T0@r0 zk23zxsvswK0SZ;ATmlmQkYdv8fdVjG4k8#(>KF_YG-!`ODCD`wyq69UKq4f_-y{T- zMWU^sB_~(Mw!1a~z05ek)YuZM%{Kz^osl(B~Nz3L3 zHc^hCtV345$3c4HsgD88?qeX*MFI^_ui)T42Ci=!QK!M?TBJ0??+&~Gkkd`j(?Nh& zvt((5(5-a%w~&1UNLzsHjE1%YF`dEyfaE*@b_75n>aos!_?tn2MUYGN3PI!=)`n~l z-wLP{ys9rN@Jd0D6S5Ey?79@Y&--vmgaE+Jp8=p&dnBOPIYPT>+q2q;iP zWLM%|{JjbP;3HV%V6!9#@TuA$H$;*?d3YE>7y_RM;0H&5yHuZ1MbYxLeTJkvgiQuu zvKPdG$o?{5`+!?v?^H%$H#irS$|dI1){{M|_n|{Z0PI1L5$L;t3P4g*;Y$Gv>We=YThzCX>alX@tB&cQ8%^FwtUGjz@UBjB)nd>hze4id;f`)I(PTT%$>i;j zzOD5w{SD$}u@e@SRWYoiOf&oNXwEM8itjs^o*FwVjpfq!I@Xx?Ry-OKOsn3@cNW~} zi0h@2fWn@F4oJ^j*%8Je(C;=u1%i)QNdUTU2uf*zuGg{38oo6-$h83#{h998PA%{sl9_i^d$DuJs5_N#RV%uUt^0EN8pusV< zLMd?u)e*y?Ll*#~eFa=Rtba3Y*|TpS5|AsMwe{xC&%p0XOU729?)acy9wiX5_dE;+ zr7#ovV+;)Z0tSzLwudM^q_`mf7xc88AldqsbQIPaFSSK+N+M7Wlp#oxGhRlw0!GDw zyqEB@np#^&!JkiCD7B01F+~QSgR!vLSqLFPp>YW_Dqt5&TwhsfGBZ|t02=6N_=s;T z(N#hS`wIjtdjZxj#GZ&yzQCyf)A9hhy%0hKq__J}taqL>>%<6yG^6 zG#=gV%2tYWW&UfOmW)$MuLjFQN`BaIDT~%j810q#u>jrp{CPbs39p+UhOExiEyfHf z&o{G{L`c&p&wa@*?hJmbEAeoQ)Tgb7W$g6zwj)^Oyk!$fvVG~>%Z=3ozf9o@>n^cFKobH=VK&?Q1Gm#Qri~#p0 zvREF}L3ec^a-XjjQLgIhMm!0ggmwo&_xd&N7)Y{GLS*4EVIcw&K>QN7nISx?39-At z5$8f2*w8>gMgY8%i0%$R)@eW|quQ3ig9WiccSZG+kP`#SE{bK8G{E18`Ux3b3a;x6 z5|M?MFtUGm5qt(@H3;JcpQ01+(ICsCbU*OvlaHijZvF)0*c$+i5MxeGZ7nxkPc+T4 z-(dJeOv;aSrWIn~k77k$1f(E?w}TF*Af=TQmk~+CMko;^DI1Bi4+^Tc+`&d% zhA9ZSa=Vi+J`}hGs6poE&n67_E;-8f9kR~R=wnw8E4VKZVe{JNYU5xqglF>8zJeFB zb>$kpld-8OD+02E9TRd~42#@;pb_~SNGjnk1T}?7EURZzjL6t@cN@?{ANVFDtHH9_ z3N^zNIs#a8WqoK!Ip#dS0I3K(0?f~1 z^>r&-+ebiBJO%CnN*jROP!(R1&S4bXkv3rCtaM~bNR2DRh$6SKR}VS!MohKMBH=-l+f86_D>~v-5?^z z9!73vDAw?jD|h#qHGyaY=3oenK!6Mwfguy*YuTfEU|Qh*hK;eY08GQxmJ7-VxQeRu z%ey$Qd~ApWO`2(5HQ3DH8n4N#+*#Ct2^3*oQLkXb`0iJzayQ>K3$oJp-Vv}G{3&QP zBM6w-7`S4%Kt*1&mU1z(ec4a-@q<^dUdiZVFxKbRKe!z1qydd%2Xf1TS_shq!0@AZ z*oXeJG=ez+x#KrKFgFZi)I-_n>D>yPr<&+BP7K6 zmSWT^~_k+Wy*rMzdq z=SWViUj*kbNV-74m3MkWPUAG?{vK-R22j z-t%57xA%7rR>gywml*EEoirPm)^;`2q1>K;S?|2@VMA;<<0Pf^QxX4#v5Wxey2rPP z5fwcACz*xElDkyw%ey;#(rND8oj#o_@GKyc>p{|>r{Yi5s|qOwdzIrw#VQG|Ns>aH z@hxl}j7+P}Bgt%p>Z;IU%pRi2VUzl9V)@+?!hS!u7|DxM^X+0;;}uXA1Q7u$RBfMO zyPL|MMgz2o?O_0cF`?dr)`Jay69vc$WP4gx1^RWnpM*zzAK}Pefd*+Q@@K?Y9LQ9_ z$FmOwrqxf4#|}P(N6X-5t_WK!JI;gH<ysTRGk#9sH5(7gVng~gjy)# z)~2?$6NyL$ zjs6`Fdc&L;{-4$bbq5-oBft|?RYcP>(5lb)9fE1`fpxJGGLD%61dIDT_XO@9OA~ia z4RIJRBRSz=O&S;3Jzp;?aPcsJp@(qc!iA+Rz&qZ6r8t>eHK6RfYcajg^FGj3gDwH_ z8$CQ^u^YexIve|2i;8Ucur?sz=^>OEEDbu3vWw6;8lUtuMD1k63ci%*=gD{Ok!z)8 zaO6JDtuEUv`x;H`;J+i&S#BNfM6q*xyV}sLLgw%l%H<|0nZyCdYvf-iuwu?AE&3-f zj3s&dP&p>2XU9^tM}LF!Z~*Eod^)ns>@DR*l?M*JYVt{cF>mhm%<>nolr66EoOETV z811B!ktC6_yaiDni#RW?ic;II2DWu#cRg0+DmJXTZ==5Ak>o88MXwKK6VO`TmVl-i zk@f)dpK&zlnkHPjNY2Fa*=E@%ikA;ZQqF`yyMYvKutrj=4Rd=PfsBFH109KO5{0|> zCn&jSQDBk|6*bjn3F9L`{YBK>y*~2;>YKuM&nrZZm?nG63NHqJM1;_#CjL*a3{+o zx4h26R27V+%!IvS0pY!v%v@ScwBfkB1IEN-r!dvzzH~s$bU@~;_YPC1@AiP!C1uZr zjze{Q+lygD>^V;0ULE`;$(uH=@+p`vBDlfwTKoEU_`4)RuxQ3sht*eNMG)wV9x z+f9Kt1*BxLekyhr9nLoo0jQ6to4CU@U~1?EJ19)Bz5PzCS44z`>7dI3`aR6P6xsgT z3j#+3+lRM1^I&YP;iuCF0mEzpY2WAB*_*2{2$dp7^_Ge>Xcdl$Pg0 z7sSL0zW<;GW*&04QsP!;=vjTu+)OXWJZ-1AlfZdFzEdgI3{4_@jhPBOh9*Y2S(%ft zWXme+ZVK8-^c1o9db#qO;##d2I&FmuPX;-yaH9S6fug)pw_dvq8?BcPdd?K}RW{Bq z*TNDYAAaQ&(W2?VkFHhLt1uhCbCsWaq~ijo&OAG)ni%|sn9D4+rCj#CqV)R=vC=CW zr#pzZ9f_u-Mp40emk%VF?G^cyzn~3?fl)-o3zSM40~z4^XP6PH1Gu3p7_wg9AQxX2Lgs0&t8WPA7jPU+VYRj47418J*sFA>vDMEL%8O86n5J$iG7 z7x3`k+N5S>g<8Peh2(7CBpg2&3nmg163RRJ zxrrRUT4fy#Xc%%*nD^d?9ys@XR>=AFuui2@OCnErV-l)bPXGv)>W zWmiF&unz!$)f2{T{gxp2Y>$PY0QJuts=Xvkj>>X}Wo;e)@tis`n z5wGI<$j*f7^}Y^r3)?8pdm0}2N9Si>Qo7wUdM`D2K(Vq)+S4psPNL-uGgma7DRj-o z)~Vm}5fv+hL*x%OH*bj5IScH`x3^#mfR#Fc7>&1|L>xl39e@Tb57}IO?I;T?hfduD z)a5!jaX#A`w`sFzHHW+6n;*L3=>%0&HfNw&K8He;Hmr2qf>}GT9QZ*g-~!ct)y-yZ zsh1Addl^jF@IN|o%Cqiwq+};ZF1D@S zHbZ^J*O;I@Zz+qO8YZ}=l||B^pf$XD_3C4ot_md|6RhDoCMD|B2_$$D@S^>1tP)eF z62|K$+R{rHlu3bw^Nb(8lx%=rYIl@<0zb7nKl?yn_Y-+Wpie4;!*@8%AioHVCsOxc z$H}}ExA;PAtS!GPne0EKYb(+1gHQC56!q{2S@ROC$mxcN@Hs{lVt(5%(_oS~i+Ic8 z1mPwHdgI=pr#AG>RWMS#ICEvZR`uVf1W)MSrv!%cF+c$f0XZKAQSbJ0o?haWAeH<# zEr9#b@&|o;x)Da@cYx+X71mg+ojpVYqOgnz@TWj04NBB~C>ZLeuR{8g!!ZsHSD$i8 zje*E|T}rB}sWN(5OstTS)JUV1gEe{pmHWV3jQB{G#8zNF+(d?Es9^f6$n;$NnybKNAF;}B3Ee?NyOnL)6 zF%1gnz%z&$@({9XZ{wOJ6sO~HMV`Omhx(TP@1I}t>NA|589$-!%mzB`956yxP`VBu67$7;cEhFxd#%HxF^AtmDaGI`M7>0l=DWXA zUL~;J)k$pkYXtvNF8pY-*JVtxSQ9NFbkKJ&Qc`u{%6Ss9y}7*z=8I_>q*;RZ43WHN zWVnF3CnpN_#oUHA_jKTj2ueUmXler}G3k8D0k{+C6YvN4!CNLMc3Zmjk*;feZQ1g-&{0lLbTenG&5Ipn5;E6N zXY`FCtNb{@ZgSIdy&=6}YT4pza&3ka_q(0Iy{0xHZH%JShbcBk){@17&EhJC z*n*JPKSwW@g44b*zaR~sPcLxUWj7YBk$5a%MUlBJISe4^+cQf`SN+S+Adb6#djtl} z@X){0{B{;amdnn-E?&-FVS0;z*?_>U`CWp8d4LIcI$*4BLqrsiA~dKDicQ?=k|mh~d~IWJqd6BM@QV#+oBNi@3hTte&Z+V7YOvHu{O?iS1+ZoftcUUlQDY1>;RFgA(@&sDYo$A+ie$MPKhy=cu^ga; zi0~Z<1oeV`8Wh+x_k$R|_o|ZDhq!N_e@2{nlIm_YauGkGk0$*o#J zdbYeQBB)85r^$kN^ou}y7sa~3vgy!4k;6T!4RDL$BPA2TuGPUCwf&(dR8*`qAoCP2 zbNDaFOVfw(mEdOe5$_`!Z>}_jvAmk)P3pbGp-=CrkgB3jg%wo?$3RiRoZHLI@W0(# zh)xpHD7Z4A*^D@o_}{n>F6dS`XDAeW(V&BQZwP;5Lht$~HhNPoU6}si$2Ej^2j|8v zn{iw3lMyhJM?=P!nv$d>HMZ;>#2dj?+YH`@-lymH8HZnh9;5S9Ai@SWgM1nsQR43T zvdqokP4n&v-C4~#0Dant)oV}SZA~bo=(WF0)kR*_4mVS11UNg(y}839Y2NcOT{n?n z1gOyxKA>V`>kMes%~KD|V0d1ryp`}!9o$TE*TuI>RL_SrPQUZXmAoFvTBZ5+4co~I z5guz_yUMPT&!3jq@+z zu!Vr&Fz{PSHPfKLitq>iy}yCb3ho|(0U~o>vj{JZZw}?S=&mRBhp`bBU)(Rt+|Q$a z5fxI%yQKRiE+?Dz)uk$HZ;)d*fatHmGO74@Z63pxeiE^e{KVNLg{M{5l~DHm25)~r z*)xp1hQP9F52KZpYENgku=A?(r_(Y03u~M(H*)f|;n{HsTkB(5K5nwyzM$X1c6M~E zQ00rY=2~PQ8SucDk9<) z;QPH57mXqPj2)ous@vg+J9hMF<2faz8%rP-BmAfn zX9P3!zX?rKb+okpCQqL>gm2RKSJ1W;fZ;eu_2*myhT7#D;5KhK4j-;gzT#qa z7&g|ZBN^oIXCu=s5Q5;l41=>*pm`k3(3rqLW%$M*Bp?hC?%YFzlsx}vv+V7FfPfWX zN7#4PN<)ustgX#()Qd3Gd^W(f6E-X2u?cI62{^DF#^KSZ49ld&*Q*UR5Z3-6Aw3&Q z9Yh1?%MSv}t3-?_li)24w^KF5-2SKHT3=cS0(sowruc1ts>#!3`{wMYk>wqpPn_3@ z=kK=q@RbfPNWzzcri@~?;%&Yz9+SQ*pW+K=`yG)$7>|34Zha(4#NbafW2DF6{<&VF zEBUZlz*^=2(WPE^np*52~jkxAB9bpzY%@u1|)tJ?1MVRe2ggtY7O_lm-~Sy z&^w;J0X6-3D6|2w`wktm{XQ2EF)sxh;iuug-vXJu;_*|bYM}1n6|m3+<{$uEj&do( zy`S7LuRuBr-{~X*;gy$?Wc9FT)h38z@^8Sp!8H(Jol^*0`I1&6Ynu~4O(`r-#wN`0 z>Y?Xu;|@nZaN^Ea>nv|XDa5;*jwJtKA3Dk0Tqf1Ixw#p%_2*9@s0HR!alR?ogB1lF z^0^!}&!jqOO#lw}wW#KJJjW{|ts*wJz1sZ>No<45PI%N+{*Ppa1qd8~X7+i6NO&zW4?@undI}<#22=^`o;#kX z_Y90u@?hxts|nh{dC*PyIYZS*zT#8}6-o2o+RYl42A>qR)Vc~i54O7KI!MIsf}YoD8r}XZfz+V}bd!dUvz-iBoCaN(q>^ndLoslmuKc zPk7x!rzZl+dZNkNQ0YjprRL}I`ub3lk>-dScH~i_E%(WGreca0uc^Tx-l+G(<7=EZ zMSK~9e-bUJhl_zdSPN==3cKP!ll0-DOMCZy(I`o$jMt8}CH-^nc$xP$W)xwi*u}f6 z*<6X0TG_J6#Ee%{8G4c)=0sZ$^$VTqGqYnLofC#&lp~3$siQOS3pw~oaO`o=J|6_h zN)BLg1J8fdOZr2u2N~4)O`M?AuPd@ap5Wbo1{_X}0bw|@%SL*7%P)OrqISVcLI-Am zPz{Z{p+L^x>AjR!e@81<=;X-?Gnkg-VJIogJ5L9LWsR!1xGp~%8@3Pf|AS#}egRrp zQK-5Du)Y;tV8z;UBKt)-8T48U2H0g){;u-x(5BijBy>pMXZn3Pz4@o=A-K_&;G^Y- z>nZ+??LG|>!CMqVrj&;qp!_=0TT7aw-JNps;$N7W z=d*}J(HJ=>7Jp&p2{zs8*}F+o5Ce&0Er8J&}y*=X5Xi^;+{K#JI z=QK?8zUJHmaUm76O9pq#p(MBGG>$VOM6I)Osy!8;Xob zwi|FaLV2KdL0u~8y|foTY@8@r>$6CEK3f>u5f+wD6Y%EpLrKS+;2FVHMH?z{3U3SA zx$|!&geZm-w-cC(Jho2mCUa`v>@ZAf+EWjqOFz>P_g8Ii@Tv;&L)$xa@T8x%D>0ztza^tF}wk5 zu1=mfydU2KkOA;O5c+fP+DW+ZmWJS4Latqzpnt+*EK=m%I$UF>2Y@TxhO;#Qmqo|R zbe5JA_wvjp3VT*B?oLy%Bj@V2G}j3V_c8TeN@+aMHZw>*hF}r^W}O2vFCNuHXU_7# zJGun&KnE@nVxKL({2m~;ip{dQ9$b~tZ2`?Ar0cjNDWYQK>5Nhd7As(5b##ZqU;}b& zRfxhd2J^xLz^0Lt({vc-*3UX13_5d8SlH!GY^*U{ajOML=#Kz{1&kz`4yaFoK;$n^ zJpq0$Yt7G~B}4ywqDf4N=hcXTDp#DHNdm5^Tyg~0S4aL*PNraX;N_?RVde%vxB?kz z7<6`+8}tX>j*i(`I=QAJ7wz?SG0(C}F_+q8nV~UPJQIymnSHVJnK@EKM;%JolvOf|e&45xs!>Q95? zBg^~vF7UP9NN&?@M6E#onF%~pPn%XiXX1MZwRoZV8|(%@T8_px9&ghB5wMOE0&SDvGmfE%&N~BX+{|q+WTUR~QjMk>j$m?~P#~qgE>u zaPR10)bKkSr-EZTXh!ju8;7ieuep77)~F`9uk2VOFLxL67<1!54Cg?R?5Gt1a=hNl?F`CEQHHICUi+ zB$#6y1FM$8JgFBfVEqDS&$qz}p~rcg>W&Af_5SnM-^)Cxym5CJEhR5$;H=1IX*x6L z%xV$3A{M$5BB-^NbNkzQeofN{$SZHh(1E7+5QZ#*feBE|%7SR-=`G}f%lL8Vo`5dL z4-gIu4*RovhCrj3hWa$A@dmMPMM{<)$3HH^ zmZQZ}JN)h3Q@=hS^qnN+(H7>z0x|(j250WQiwg_-Vr-21#T&=ywkFiEc(cD6`|o+G zu%3C6aL_8^+tLG_QlB^6U|)SEpYjNgCZ^j;&z_E%mVaaL=EPK^C|J0XOqm9Ngp{F`ziW{!SX)>Vh2n31- zvxzI@=(S4)rwED5Q>}ttXS-+-EuuASC$9IXNg|?xoAaI4b@|Bqey{7OtIF;r!Rs9h zG>&csXAoFb%2vAWO9C}yB{6HfP-Y8&``rRi`pzsHtuf9?Egn`o$!dCXvD2AgUZITQ z5~5O8i}SWu2lI0@BmATe-`bCoS}XW-pPdyi0z&;;w{Dqbw~MOHcRYM~jFUx^TTqJ; z&AT=}yRd60-X3Sv`@IUvc);1L8huj2G5j7)hUDw^tePK2U*xego#0?9g>1}4_?aDJ zJ*QYqsLdgm7aVA2Az&RJF%r@5WgpG^%1|(ol=;dU{`c$qQ6_f#u1&2b^^L}|?ap4) zZNce}8RQ0kdT35~JNiJx7lzV5FAwscZ7_AH4&B|kj0AC>N=8bbZt~rDJn~4&-v)v^ z{nVf2iQtWiv=YG8cfV_e#?|H82^HXZ2IqYW`g?BZqqmKIkGR%X8Tq+y#VpI}k&@;l zcANTk0(~he#tc?YRzv&&ir%PfrBnAft`#G}uqAOH2v>fM;)5!Q7B4B*HJI3~$R-|bN=w~L&Np`$i~ zlfDGWBQ=0E%Qdm>yP)e1CoW>^Y&ZPgqPlH@kg@iC~yxkeZ~S`CuMuz>EfM zN*XK{LRFdKG4^*iMl>aeG1IsOtnxeDE6cbp+Con2kdzsAE5+E&1B~gbx+`e)aBVh= zRb|6ZEiGZoFcfc}*H{2GntQi@DAHxodmMxk13z1}j0Y_gANh5!KMJr;FYcp96`=(k zwb5lr@pl(;$ia|r=;kvlTx>kluY9F|f#TGc?LBcPXSX5$5GyzBAxM0|PRVjxC-B)okL_K%ZC+hU< z7o^9M2`Ly-7lt%-m}yUet@IgmaDfxI9;#5shEdQ~lR=+^Jx|7YMz9EZjUB7;-U=Y& zRP3b=KRnv@46i1s$pFPSsc)$W#-+D2z6JEfkg|H->i_C*irdbV%+AySK;(kA z0HoN-GTPV!{b`R($Z~W&#~l=^WZ})#x|yV5__f3B8zoy|S{Lh`(NTodNH5RwD@N;F z{#z-P8TvT~4{q)gq#L4p^{eNkcsWK7jY8qmFviBWSZu+#S1c~CUZP?ET>0tsHMp@bnG{gQCG1GjK$(_R0-mzz564^Dc zaoTB16k{Zfvn>|vOfj$h?Q-&)wTQ-+g9D{Z(G;er9IU*gI67MH_?oWN%hTAbZH)b& zR=ni^KCU*3*L$$L&l504H4y#%-fAAYSYh?wi}wItyf~{bvAe%xcVn;Ko<6e6j`~EQ zmTWdJ1uxwiQ<)HhW0wI)`QXg5h3e+F+%y!*4bLTa^!0lK1H%h!ik8O$&n_R*arQX1>PhM6wE~af-Zpl({__X+1mRO-dp&>hWP|1mou=?2mK|LDR&t)vR?F@n< zDF&(Su6-PuZ?R-osA15wYcMz^xsgbOasP<~mZqUokZkv8jXS(I(ct(n+;W-`IV?hL z%00gCu4_g}&8jZcU%|W1v6}A$!kKjpY`Y{*{=3*Ty19{?Q~sAt|7vOI;f1aDLZ!cE z;#=`>=&l&C2J{=An)r0u2<@fz?~6ERWMVG(R%&Gl0!7a4f;o8GM=9e7KCVy{cry^-Pz_?limy}Q~TEhhBuj7PUK8G??Qz)>bf!5Hym z`g8*htxUqU`}6H%Zq~i!Urb9PUY(S9W7#MBXy#+XuNbjBf*VR4BcTt^E;R{zIE+Pm z*gqO&vc74?Wk*WdN>*gEb}C0-s*^5jxHM=INV;GVxT>}F{g5H&2TEmMELW{>Ox^bS znDH&hGTkXNO@pxTH0lo0Eiteig|jE$Ieufzdv_H?8E1V#7BtpvBaAc)5NO9}KvVeE zy@Cq4QLo*Wf`*^RbmOxQpDgYm&qa_6I}3#K{*Gy}T81!k`lRU!6~#Y^@-5EQa_im` zw3sN+=6lHZD_9vD$9_rg z^sW0I6l%cmxxU1PfUV!$X$U6wu&B|Rk(k}W;_^1cBuJh|L@NevNTUdO1koo6R(nKi z@(9{v)$jmOC>j$PQjQjW&eV2Og&4(>ABHb%=MtDMUgDm0m2^Ep7JH zed}>{sh+{@@6;SqV8eE|fI8>*Uhg%R&F7Y4nY>4-rq9c^_Y_^N40`857?SbS!oLq0 z5V$BA%!r{Y?AxA8z(h(a8Z+?dlCWGRnB+hGJFJ>-0fa%r%Gg1lzy4$eJ#9uoIZX!q zB5W)-jViz5E|~v2S~G0*xP1!|ZU+MiQ5b`2uw)UY2byFo`HS1OQQmq=j+Qz8LqK#FH5YRJ3ou?Kp}yydHazE1P>}Y4sfQH3pzSO zikCNj^&4NMMG^4cLX_;(19F^rjJ7uyUgtri_~c6XiiB6F)8hSgo@#G`ziG@VcHVYz zhv)C_zRdRDx!aUItq=_sI1QTgS|gfrijgIwU<5%P`meqH3OxiYHgxn{zrqMSoHw$} z=h<;Pg=ob>FH?-6cVKRb@M^M=+B5NX&2Iy@iaGU;lSI%N4ywmaO)b~=yrf}0h#vcxZdKbeFj_a2C1EHhg%WR#?O>a|ZGce*Fo$9G zZ!G~!&nVgGo>Y@n&uhIYZ)i!LNsu$Qo8_`djlgzZ&ME#oNynttM>&!=`1Wl?AY?5} za+AEtIL-g>)XEkwJyqAZ& zzvjQSpWW2yUZ+eHZ=`H#F%3#ig0u%Ehbqe>>=g{tm5?wvAd8h(MC(3afu&$-bFUk2 zbWI-2-zz{Kjg8u&L47`eWxDEzE%eZgxI=!eR~2LIExk75d27y)>K#c)xb_auA2BR8 zRV6{E-m0&NkH-$>aa?(r?J0U7`^NU=JmN7sQVS#y0^B)L8krEw&Q1=X@R6Rw9mx_%a( zy_}$yHW#)&yDzu+?+PYscP1_N=jwwey6pM(6Uf8 zpO&d&Z2r4)Gyd1>z6GDqks&I!w&cie6W5EfA0WsHcCX&5GvYFPxvMM;1_4 zI4a0l$={e!{qdUJDIJDLnmet^7XA4I`QxNVteOVKI{4i@!ePM{dWQ_5U`NwjmBMfQ zAAU_9SQ5MRJbROC$9wIMd;iV_@8EBDGR5jUP$sOJ1e$E|FmYXp{b6wpEIE#2H)!(v z^c4;0xV8QMFh-ZH&=Z}w-()*+im=@4!Aywx5(NqOyiEK@Dca%{0}hNZ<{()SPhL$h=5`a75< z?1pDb7MQL&^xd@GUF8(%yR5<`Q296BYOkPc-G*|#^s(6cEY3~-6R<~}{|4VIH>uK^ zPCvG~ub{bwh}owrA*#usC$UG6-n5g(X#93|PBH4vw?6c@29EB$L9hK(WW?Bh`MXu7 zi6i0%HA9sIxDmExd}eN=`;#@j)8^R zj~$g=#PrnW3r<*$QxS_{WOy0pS=}ftok!4n7q}PIhwb1%<P`V!Hj4)z$UPw8B$b$EL3 zYYi|#-+6mVlfmiHGmSSN+VedQvS}s-^?C}BaHWZ<9M)J&0*2%~=cjVT;IZpG8}%!1 zz*g+t^}i48(r&2npA5E>(i*j-GH5$)$Y1T3)*+gomBL7@hP@1vkTBwLQ8*m^=Ugl_ zjBsCdD$k;6^@mP!DoKV#Wfx1&rc<9Q{MDoyx$lW663zFJmNUGbK`3uhKIb{ME;v?w zi0;k-6X6ot8KOsOpG?Uw4>iMV`$=?EWnV7!uf*=Xd8=-B>sRNtD$Z>!L3^E6lMXh_ zC*3yxfW-2{NN=g^4kpFjX8(!bKtG+mSI(pnXLJoj_r>VL(f3WqmOwKsj2c&qwoAR) zrDakjRFIQ5XXc#~L3YP>4Ckwq7N0sj%Oj{|jUn$~v)jer=Vbn6dm10M(ywlyFjmq# zZ$A1irS?)^?0cd;hMXO8yy4~DxFAb(YxV(D454q3e^5cNMI_Afkz68+GpnW)=i*oG zroqM`S|KtD1yM3lZt^MgXX5qI1~?khz^@qm_4>P9`^;$Hp}iYkoOqcv3WKxC>YCyE z>X6H<`le2VzC4y3T9otv#z&2Jzd?UqzK4a0^FF2XLs$PCL+X2tGR0@yw6nlsUMm=~a`?=gIP|ERDZzY` z{O7B1!CtSL%KATF(|UsDNXZ{ZJCv%uU0gYlGwdfQPGxb8saxrg++BP6@L2s^lw?V5 zO@A=7oj&E@vC)-4agKQ17zDY7YygDo#deuzecf*=g6GiSB*oyUre?)aZH8?FJmw7>B- znGL?bHm!o9G-Ns|^E0z*GEFhbVu|fD&n&$}vU+xhe9}!dbxp#E2_~OnDOkngUo-Y1 z=E5F(<}>NuDbwo~p&vu|(Vp4#+kZM8cCK0SHv#%@S;2&0sr4-Xl!3o(q3}PNSE2s( z`~XVXgR!FS*`W6ih_Eq)Z8B?zF6N$_FgmHhso3Zs*=rV}JTrMi#ku3*TxAdTSHoEU!JfriXj_#QJXqNYOC9Rdd|-cnuflCL%3Y($wSk&q8~*Yv^Gyp* z<9rX^<$&?1w&{G2)bOaCl}2d--@t~3nkh-B6xRHD9>Xx?(fMKTOs1rmZGW78cNdud zf}?E`;u@{oR2{Rr5`A$J3E++8rev zGhEi5DFkexuLSFsgT+m4;a_35Z~nTVyjPC-zI76aK%el$ww+k4qXzz3tO!Eee?gH5 zZ=5K{Et*5#X^A+B41K?sl@`l^%Pb`C6KYiAmoqVGP;NR5yg=ADF3n%;n$AwnXc1ys)C+QCcyG^Ga{XiO@YfCJ0NTm# zEYNW>(6}Em|Mz|jXOn@B)fsusg~($l)KF2eX7oVcp5z+K0c{@%!TjpWhYw_9jc5$i z3Np2^p=cs8C{x14pwu{j|C@X^+^vt1Z1~L?#swED-Mo0=*O))oin(&*A~6M-FRug| zF$m^!IpOb)ejA%Vz%08qQMkh~_}2Pru8C8wclJ8I#`fG5)nl=uY>`h`G{5@RVWpEL zZ)GjEaA`|6UYDI({=EQvHyQAXTjM_I>B+n-glwU(0WC8L4brhj21Gn*=t@4~LhoWQ zT5U)tGFX{gWX)*~GOKMx64oP|=*_|XZ;v~{_#bSh1%l z)|H!CD&4k>6!Bg&CttLY>ak{r5 za-59 zwUW0Vpfx{muosNOXjST04{g)`W9lowqD;Sd2aq&CN<@&bU_crPX$cv6n4v=iL|RIv z5kcvk5v4_j7#ay_MI{B46cA7mkycXrp4r|1y?3A8efD`&cIJEE?|sktonHvLK$R+W z*_0AN^67OY51~9)WQNBqF=CVp_gnjSC_4)6)7MxKcf@7`7!V)S3-?}M$_Q}XAJ+^i zWM|KFMDnPew*3HmPwmrRN@iMi@1v$yNWSuXe?wRJsu3#X;EBxR~OcsmM1_zGXwE921M ziD#3V7nO7~Ml_GUDtxK-%^!0{t>zjZ*Pp-RcJn9_CK%QF7kdw$_4lqFWB-ipX0wGh z;P#f!(vw+7cJC&>Yu`lgeXY)HQDrtmDHtHK4|XCl%hBXoI>w6U*lep>S`<0s+m~R> z7;47CU3wG5b%ElDMc4$7B~1yc&rl}|>{$K|kUM?C!U~ch2Ce((5Cu_{=zIj3Bia6l z@=%2n)?|Na>R?F*q-4A9JVi4QiNpk4rABTSe?-i`puQU=>@n}B=tAb{bn|qtg-2)H z{yrpOjfxB2S#ViA{Sth*|J(o@Q$aT?#~R<>jzGWxiw*|RsMZs9V|Q88=GeE<#aWk+ z%Y4LwP@=&)PO+M6HvLs;8l%dwy3z&|%9jygqFlI+*{S9pWxDwC*xMUV?4PA(6C-ix z@hfK*vy|Uq&UJzu0WT(Urb2s}!Y2IB@qp*Gv{kVLkggcVJlZ&(1CqtZPjQk9`hdD@+ z?=8~1|6Qw_$ry1161yx^`2#&6_A%>XQ3wOMUldFk$nEj0zLb7WN(crk_OJ7DuW3h_ zajYT*aae&?BDydkcsnJyj{nyVN%1w)ve(_RHwL4z{WW~Cn2z|0wC>mx>whonzuS)F zt*aOmUW(6-5>LgL>*<$d&xBXr zB&>*Sv}Qy3L?hZ%V}Y7W&C`^(!QZnS**IkVt*~WkZ9SC-lNTc--ZMs&hX9I7KwW5f zo+cR~<+C9#3+`YnNClm-fYQ`*V!JoYjAHxATaSegf%M=&3kIEfBPq}Fp0zAib~pcd z4Mj3z^!p#DpjnJB@&Px6KZmuz&!OKf6Zrpd-s`9C{Qdo{WyPBdcI#)Rm!1p%;{q%~ z(w%~wTtHm#Hf;Pdl3PZQ4Hys|mOilz-rp!Ae{D@oTLg0SyG#hs0yte5n)1#mXm!$; zWWr4P{j6W6<9X-AKLf?$m~eXN4~#xakrK+4o1%u1`~wotj9r`R6`R=nOFP)GHC`{$zG}Krji(y#v7BYgwc$@m7@4HMLV#^)>+PliNG7@=mMYn&$n;iThAAi%dlq;hl-S$$wWwKIGUOw0l%U`jLjW87V^ zYXfM|(7w3+54j5g>jq56Fy53?Fjaw9W%MwE%$Lhc|DO9dz}$dByP< zgMmGrYx<{47fOGoXI%`FrbGyayym-PDMH!B&wt@*-kjcC`=IQ8U;O+F^@-**?laZV z+`gg1Ou}Q2Ptq5#=pA6LKW|?e4Ef=5^ud*`mt*G3*LF&B`m26bl?N3DqWB5Fe}=o) zDcnZ!5q$2w6vk){9TyzjdMB4}D11KvEvxi$>qgNE%l@vC-kA=zmsHf$yYK;{(!Dfj zzR~cw?2CVv=y?DxK;n-dKi<0ksoJL>g`$lC+zb~aL&zz{3=R$6d?P*EDxpJ*fPdXd zXHq0U1hN8?EdXh(X;ebW*^;`fZShJ+K+TuLaC=5rn}bA<$g6%G8E4l;Y5v8yih- zE-s6=VNRh(sjH(Y(Drow$El5xqJBe)c>^OqKc%NpsW5<4Z65oW}i9NDPU^+IQ_vj*;=XQorZo!o)k<_E6 z93L7~ZgezKs+k&x<`h%zm3`wY6WGYe(7sp#1BNHv_9sN}ya{ObWORM{8r|#{1vu!h zEKfG=&RV4^ZZxP6BakW)>*y7%AqCNQ<&LB$$~tePqJLZ!$Rn|Pt@Hm(ro4wu9pr1k zPQ0uL7p%MoR0~Bt9rrJ<{%A@z!NXZ8F@5>dbvq!467uaiod3T@q&@*!;32=QhN-{_ z7)LL-|5FTp2nP4HO#J(s9t_+j7|8fykDce)4j<|kZfT^2x(0jrmWByif+DI{7liij z$;275n8Z!5|LA0ZL_RJZ7Y`77><9jxy$$RzsCyl?VnHOG13afGdawH2(G>Xk-Rf;Gl zFDNk}fUEh!R}ICTPwv4##j|`nTXY?O!{O-Niyk;HF@H1^{?`M}@@Xo;QRnqA6rxY02OsR+5FrY--0ZLb1 zp}w~bzI#U3_v-^{DlnXwPc)tPyq2SGSdAS<$O;!9Pu%3C~eS1`HCssIf4ZQ z0vcNU_r9sp$ou^Z8kEB>be}JJcFA9sMX8~%1C84=!*ZyHBMdPeN(^=ip;?xeoyGF} zJ8PWY`vCuC=%$Uj3=fZC7tBvTN(A%anYuj3erWeAJnJmbp>%o8TZD_mFow|k)kX8X zg?V+y5K3ZggYIR-MmiMr-{pHP{znk%h*0|{-{F|KYL4neAovKq$ECj9QMEoCDht{u zgj|C=?WEH@>|cgUKMCSa5Sj*Limh5uz*;CJ1zhCr==@Wg>^VSf;ttycfq>-G#MRA( z*7*hN!yS^f^-f~Vy&AF%90r-%WzOowG3&zfZWP@WBb3#66?cXXA~s{+ljtc`(B;!w zbtwd|V_xzh6?wWBN=@~dS$M+uWe94zmreMGVg-LXM?ajP5eo)H+Ek^q1sJxsgi^f1 z7$i5y@l`itE^89dfpgyVeKkurucXOm_T2LF!?E06rPEb4PAq(lk~-3!5Z4OnBa{f>wVY!T{xNdeggB~Nban#!k>3chivDG2n5hQ^16wS&MBfyCOo?@ zuQ)jXE-4)MY*Vp9NgsBo! zq^jWA__Rzm@}>;;wAX8{jE*e!gAf+Wrmd!VQV&g;7veIDu#<{l;}~4Ds{gi8k?>|j zp;G@%RrEJ~6b~MCy3V5aQ%cc_AIdRQloh5^E~&RX0q?j5-<2dG;kumCZT~SW`3Y-z zy?-fBsPImdt7|oR}JX|aVG_#EtIk|0*A?9D?@3kTY>q#!oLw;EB>Nfv}BjL}X>1t}wzT0Vi3k=}`7v z13bx{c*sy!X6EYBysdan1W`Q+)$>>rIbP#vLR4(`C|Ib^r{fu><ulQrleDHf+5;Bf>z57YG7{`f3rYX?b(QB}9{%@_ZMqkARR^-nGCP5e z(Flir9;Edwk3S5O370Dcwf-6+h;!;2MXl0zzACxgy!jm?8T^LwlpNFWU1({h%)$QQ z0z6SE@Qhpc#O=fIo0~>V>c7ztyD@HfYTy}r<^lmF^h^q7QViet!Kf*!4-9P#D!Gg}f zqA+Xp+esZkv|2P^uLqEKx&az~TUe6zYCk;U_`CrCh3gwuV=eVnA$g8F!P7&U$dI-< z#6Ir=c&!J=5{=>9gTiF_M1v6N9L+kI%bJuC6}7q2K+-6|#Q*ZYhpAm+a?dUEsN&S4 zx7c+E8hUeU2Iuk9(hgp|BNR$w!i9~$3hQb3NEKZtx)37=BxQ{JqmZhgSl-m!VAGeF zV5>n4R##G!$wcEbVpxLu##I@oah9@iw<7~~JTzilZ~97~O?UF<6XyEgC*i zA$0c`c*4qoy)y%BdwDT2&(FYao{~I5Bd}5%pK7#9hX@gClb%i2M?F9z_cw}gPeWPz z$>vE|l37`oL{IC56brH8Ut?c_c9-;kW*NR_M_R`YaG(k@|Vl8yE_#I!=yzKGL zDa;uJoog2p_WX79Xw5!5&$|VsWK1)2aL^}JM96tY+V1Eav4Dkz^LQYhaoTvIE*qnx z7;fsL%%2#ZjFYm4qs;z>#OYA(wZ!nvQQ!mRsh)Vnqkb5xjNz)f>Hxq6X@lDL0Ok7= z9Pl22BVU<}{Os^&u`^|+1otyWEp)uO6oV-+beXlNZft1@w#GR#MZahL5YG)4+7VMe z(z)&X8sZq!>OnrCur@Z*yjcskV|>lsdPM+(1nI&<&zcU2nhurTCITsO9t~D(6ugC3 z5K74F=r@sr!9zZeZ1gWj5!LyWOB#QVR1nVzrs^C3~Z9%CSZoeQh8_XMl>xF=*fO8eJ5v z3XO)26q6AG0p=GDGhO%!P^zExwyY)p$})dmb)VG`jjAuz!oAMHp?YOJETu#^v#rul zyYg&omMoZt`K-h3tdY4E>k*Ji)&?5?6OEcscLa9T2MUGX59q%H!US!939Kr%Vq#)U zNUxCNB?6j1ucvoA!Xcr+$yfrPxvHlF^$|XOO^S|Z2a&Cd<`*TrOT>Z2v6x{Y21uaT z3wRAnKgH_UGRx``*|-`Da>R37s>}S7?~b%Yx5%niP*RO zdWxJV)=>OqBAom0!Fbza3}~EI{CE`QM<=6`Dq)uj)>E;AOoosX&Ds9ksowGv_Uhe5 zld?YRyQB91z3Z7IsQV|`J+O@}o7!K#ci72dY#}-}*9?XCZ@!dn&gkOQxB_(bsZdpX zRC@o5f+}3_oM+wMMgAG5kUN?)$_OP*;wyX8yx=q8*7~#tUgx}?W~Z8IMriVv&=K8E z>WV*4>m{T9bm}~i7LPI8)AR?@@Yp@qzr$YrE&UXkQY8PJ4u#UI@+8BfvCy0i!Fi^! zy1n;mYge=LB8ui)=>nq)%}Eu&Z7{j`6e@U!@na= zU-Bp*XWohih1qN+(bDnIW&A{J9=a0HtFNJ` zhWKh4>&H*;R&+xtOv9+HkaaJ$NfG48uTqD@@ls_iy+zNBC*658X`TZsB44EK`js?J z!#P9~E*OVK%JE#-xGvCUa@!k^Iz>bF32P&_yZDm7$!ZAd=1s{WkAIjm*SG#Rijc`j zz$&Yn;^~?tPj-j{w~!a=t4% zTdeU)qK3?w!N#ci=$cT9s)@eezeNHUE7}=%#M(V>T!C4T^?o2uZUJ&DT0@Mv9zVblej{?@gM|L?cTJ>a}iI|0YUKI@XjYoP;v$h^>fs@G_ zj49IcCiX=p4bR7sk$YmZ>8I$zHBtPhR3NJS{zP^p>vyMw}HhfjIGz_a!N1DpojnyE|~FlC*|Q zBn;>+*+@9*RNx8k+;ib74<@1gmMnV=gx0`qkm6R!4FvXW^)c>osI$M3Nr5A3hQVV;Ir# znzD~Mh3gVQs!Yb`p^$`2@woOtS7i;hln|My{))I9%Keeb zm-X9AyEl#B#`j0V4Vorm8C2q8WAQSx$Ful)eJe1?@L`|TqXMp`SQE!N1R0_OPAy}w z4RC2$sP_%_#&2H2EK9^fz!=ZJi}I}fpIfPe)Mo)GBDJ>x z1|h_Xii)l0*+~TX!=oTKu^PBJAjA6oR0fW z2S|Glr*yYyl@qq3^^AJPe%;r{;DasCfdGXN%55-HUusrkM&t2FDBpYT2Vqa#-_H-N ze@2v`MXX==sDwU^Ll0tw;bTVCdp!tEpfO&IFCbnLD4S&!`%a@fEYqW+A!>|>-hvOFInrf z`0x|*9y%GhPBzx%SwRe|j5mqBY0!6^^qmrxDM)wJHIm}RS`iZ9g<;0G2*i(rl7W3d z_<~+^BN33qsRE`@<{GK&gu}GBg8rN$Vh)^@S~MOu3AyA?qk`r^-vVwLjuSLR8Uziq z2Q9~W!bIC{B19G>n;CMMK5X0&kFq*4C!OKPBouL5ETry~eY#g7ycIVqeqC`t4)&V2 z6|xjXGHe~Iiw0L-IOzy%@Da}cx!)+9+-Vp6{(BgTl1Ai0>1+Sk?GzAw$UV3a*oqXn z@D;3>tCh33I5@ss&F~`mBr)XrE5Rgj4F}CnF!A5U1jtgYQhK%(Y*{_FRFTMPx73`d zSEUW<3`ulRdAwl>kX(FhP5o+>874@RK<_;iDTu?+h~2xrG4nGloFnl8x8;Y>h>H|Y zuNwTUFXdyV(=Eh!zBoJJGtp@wwBDsqCe{%_g9pxd`;7O~h*HOb`aOk556a6JBwFWBUosS&P=$WI{lKN&H zFD9RagW2klI{2L@_1r3SOchJ+jL2@-a!B*6)Ap?6&>^6C@u;3(vUEH*0s_*}sOS0l z4!ym=YfN^zqGen0^n;yPtJYFD_e5{NN&9{uOVdKks~zVVr5acI*|lwolEK2LFQV2+ z7>?S-RKQtJVj>uC+`YqFNt8VK~nf+n8wN z4NkHGJVtrE2XLs^ll}7GaV=RmH50Ts>TtCzaLJid(i(~HfWG`DR4@@OU?8VnXHnX0 z0_;tThPx$AkX_!DHo2aM!i{_a<&(qGWYahTAq`PE6CFQbYB~*a>d?{KFsSm1^8z4F z1`xqUz|-3xVU2UV&MRM1PVU2A);+*?_aw`FW4!=eGwPM!vS=9Ey7pY38!*eFNTUgG zbb)A}c_M*}laoODB#IEV3Po3(=)P>`-7&}BslA>l?SgG^3V8;xO94HS_eUBgv4hl} zTT9~(dy5W=(JNo-22#`0b0?Jm=}-6W*IbsFO}B+<$NL$me_oR<&o$0k`^{Zg14rnZ zOfdO!zJLEIpm!6rJV!wG{};}vMfipzljSzoau>jGNO>BJRI3o7Esrz(mt}y`B>4sG z{EPnj&Sn@pZig}0Ej#{ITd6NCcQyZ9a~X-Ji$}*J5e9;+TTf7gPmVq!-1S}NR75xI z=ewPDm5Nz?@raP$1jM@DW5y>3^oXxunQl32eRl|J{QTb;qVN9%FmOX>^v`zBc#gY8 z(u44UXh?8boB9O4qz>b&bA-h1VD&S87Fg1kTNOGfC!T`H;lpvu?W9r?4 z*T-G9g0S;%xk9et3~CpOf&iF#-@M)9e#^Te$51Gx6T%0W{C_@kxCu+(R5xtSoJ;$-j1}VB+1oBjXje)bNi+ z0L)dEB}Xg_!PdQL!sReZ<+&1ROfnph2g&K$#a2yYGwG!Gb98KP9lCJPVhUnv(+>76 zeP{3&+MWtB)7gQ8+6C&w_a*sm-zQ@MP&a% zq6%|yM$TBt?}ho9vKm?O?bEh!e}A*n%J@elp1bgR?-)&G$lryQgN2dNn%EWRBg(wu zfbh`pI8hz`ocGFA&Om`TGnroN*L^dG4M>=OrjWCZvZKB z+5ORLm2GFKqcd`>>;Sh)4ZxUvnU)C~1iCvHl0GUBN{AJ@(Onqt<+?R*|Gdzniq8VQ z6dSlY_^;3h{eGxl$Bc(%a05M1vw994cfGV91nb6-#sOOFkx0&7nb8_o^HuA^4QufM z-ySXgZ&#$rlfg2I8tRaGo=>rR^XMQR$Jm#b;3cw?)=$YORjw$}y!innCPcKVGB1z!kjrhaJ?C`D*U&WjA6vp_1h;^?1F<^Oqv5^gz+dyZ#(x$v62>X0~nwD?H(i<5mL8S7<}9AwF&$3 z5ybE)&9@?USJDXZQD?ThZ@v6M!h`(U+S-WQ6?_B|)X4ixJIX=`EPFL5yd2~K9Q`w( zd$p$tra9;6Z+i89i@Un~Ya4`tr}*0V2$d}@*3coW!b(~NZVbI1c?TT#th<({CLyk` zuM^>Sj-Uf*VPVa#ZaJWs<9tynY)P*bp%u2GkhhgN7V zGBVO|!=4l^|1X2+C<3aqN(8XD3M8z+_obNz1c^K}jFAw3Fw%)^+U)Rll-$p<#`wmo z(tL|A&Ow>X<#a{APL(+J;$kQrBHKb}%}&hmez()GZw?(F;fZk?GC}C{mLoM^*R75K zj@y}T5}gnjplrus{mJaI|N(C$+dyq1u5Eo*--DSM9zLB*vn18WXVRtc)|Dd(k6_%ru+n^dU zvu5R2eD%In4d{C53>3Qw62iWHv)P2FDYXF&=3vCL$6P_uq~EvYQ|51}gL=(Z_81iD zazWslNh~mH2?_)t(pPJnbXmQK6DEX#B^`T@lQ$XSi$^;r)?jFAs&DE~+&yL~*D(y> z>qB0E3;YN_WhK(GQQ~f2IqDJ{atMU@6u;>+Qzo5uVu@63wJxJcbc|S1fbbNw*36F{ zJ$iL03xkoOMbay`1An?;+XC_=oJl>+GK4HFWR3uqQ{eeY?Gz^k0>~=sOj&>5g)|?) zqv)>X9j#~CTU6P*&i~v*u>Ry2EstuXm(`E-Qx+qaA-D~P*46S~dNf>1j&&AiVR+&9gBgM7 zy!G;~AS(@D2SZ-z(P>0Z#CEyXk+q_phW?~z_Nec4*msC!Fe_6n;V=Op>Jk~(u= zE!Qus!f9-CLkFNV(&fKr%e8B=nXkC-xYxY9thKOu00f>XG3&prr`iO&i6_NnmCNWa z5Rbi0;M)62?FA<9#3R*Q?ChSPX}1V8{dfSijRQFXocBssKg9=0{8gV?HYE;C@Y(`&DLa%Z^q=D*A> zK}31Y@lZhq1(>TZPXJrNIA`)gG&f`--hrHPSR>nFSsKeiOwPm@yV5xW7Rh~UlMJMu z$w??MU{sb9MZ8@EbAUPN-lF<~Boc`k9FOfo=5I_4qEwE(6=BRQApbpY^d@o#tLn5- z{M%hUIOBZz@@J0y>Mhk<`tc4IeF7BLpVL!DAr*mk;;|hg-dhm)6n2I;%uFs1Njp)) zM3m74VVGV{MAbH?!4RWSAW{hc-0p;y#wqTT@TCR)PD*3^$O_7 zwHIXX5=$pkcGH|$2kL5=dVM`SJy+kO3ndn%b(MSn(4JJ8kDI-Gbdj1zl~Kj1<^?Vl z+~Gw$Eh7ai^?kd~Y%ahVCb0n?vYPSn$$-dd_YX7KtKjK+ zqZ#lt$fqnh7lM)RZZ)oDtOx>f?G-qx z2j&KLj>&A3`~1>oavaroztMeZ_hD&tJq`|L-d9=QEefbk97p**@|_ zVWR&Jn497`xVRK8t%t!rNs%>Lvt^y6jAyVrc<}G6j8znv$C?PlfJ70+hZ@(%2MRRT zhfeVof}$UjkF?8rFn5Tt!!sH=WqRonaNJ?sFy7C>AURj5qKWNE=p<;bJPGKNxPEDZ z#Kk~^Q)cEk;5CpA|)P!X40O#0^~eS7ssyr3FGvPXs^b9JSGnC>X{)x1S@)5 z4h9YN)c&h!j*x1akh*V=&K!JA(h~C3%in##ef{3|Azu{PU>8w65gQbG1V45!;g{2S zBK%}*84{kAaAg!74+g2oO9&&4;QZEqoe;%VSg56nbXSTYZfNW3%EJ73m^!S%lFrAE z;kaq~5!y$5K*Sx2Nc60ebC@G#nbYsGvSXmhT3)K-uYjE-ZqC-I9FN%yq{BXK3XSM4~#0 z_vNhiWA0ei-pU>k&dK3;tGEOiFf7=(X@-@=oqd_vFB!6HkJ!&Fhm zUyL5oB)5WY#k_&ZoO9tw<)P$+i?3`3E1U#FZ@$9#s(+hwv0o-EIzLkMyi6DLfQDhO zvA}DxB{=x&?00Bq#g`VIUO%53v;-ynr}6Lp3OL}SC+rw@?=QedW8gY- z#(a9E&u7H4Hkkb%=WLRk;h{K9rBWSSH(UorEjvZE2B-{Du+Jda$0<(DDZo_ro`lwD zK7d@BA!epnp%lk+$}BZ2RFz#>Cq&A1VfstF!s5a4*lDAX_z7rj^N~biI(qIj1%EvsP*$7n63&8gruCc8`7Ud;}mY*E(wOW7ho$rWcJE`_5G>RXm zIrLfAXxMqyb6YQ#9#J4d?=ynVX(=Fl%@)-ykT zfg<1rK53;3>Ic?wqM(>P{(kxowsb*vtR}G7LMZ;tu~LT@ zeps^Vl3YbK?%6LVw6^j!^upE5_`yHez_`o_*3UmJ6Y=ktr~3D3fA&Mk==WlcjH3IR;crg4rC#PTZUZO-W(c0t@!-J{u68z_D2<8o&CQfT(`s~ zW-s#XoOe=1eXbc;(kR+}=GNi^aq|PNKX*2yxU5$W{IDI1AyNX~7c5WesMGKiV!E^m z=!>%!xNdtZB;I1g=f!3`7*9B`sauOZ`vK-1@DRS#EG<^a8l_G4wUnx(=ay)BlDw7~ zREQ@tQ7B5afGbht6A(a8G{(w9&|Xow)jxU+LGJ%hO*tMSD4@f$T*vuIdnIF}CcnmY zB$oAWI4(G=hquUEb4E=atamUp2Fc|5YI;D(sOCe;lg?^*YsPG`7O))eKp3ctrg%`} z>R>q%cmi`JTB&JW$64WQ!rzzc1y`3&2pDd<@{ppc!zB?#n76VZbsiUYcX!8G z?K8D6+P@gNb2Zoeg=_xH7NadD@3`QD*N6sz3Iaz_Qz5D0#;Q+qP@O^p@Z!(Om1u#0}K9VnJEg*bL0r& z2*=s8H86Py%9}ie;D*liKaZEAG_WyXi}VvdV00z5hN$nT7;UVtW6l);xH#}0gWEsS z$sbavOf6Zag~Ye%#TTPbVlrRzD%emGZ^00GRRhcafD$1hB2xaLNKXxuf$Xi5mw^M~ znRaQp-~uz^_S5Au=+$A!%@i4ysC^MWXI$xJ#GR14Hp#mA3rB!lQ4T2Vo#^<%ljjM* zKXcjgIp(ieqt$=;JZt|fwfcrG*MJ0|%o53+Pw}X5U`kmDr951@NEgBY6!V(`wiTaI zz1wyK^yxqOw1YW0c|#ib)p!Q-(gjumZh&zh-K&)?Io<0OG?{&jDo^j^Sh0{HUI7bZ zb9Y>?Xn^$PL%k{gouKDNKaI?e;=?=rze%G%;LcEZjTnz1&9yW0L8toBlc^O)sW<_0l@Ug~71Z_#P)cr|i34xi#&4 zrhR4B*;$Q-7PnLVJ#=9VaMl7BO`PWlycytma01{v2G(uW+8~o@QXsLg+uQy>FGYb6f}7 zDtl%EGan%dP5eo)mTiJj!|eT~qG}Czg}2DH_tme&FkLgBm%4-!Al1dsf=P2#wN{|` zR1c9jJ_0~SxOoVA0z8Dc3j_&{c95xkkDGoM&LA0#xZ#%+iQG&E454d5W&@27z4w-aQ&D#;psysq>r$Yo(x-flkkkTe_3bshKZtvj>suQ}17 z3Z?{M82*gYw&XK>R4dy#G%6c6 z{|SvuCDvOHNF>LIYAHS`<7#CxE!`|QScI`K$QBe(j%_U^tv;5CkT}!atRPSvn`Iio z_-pX>(G#raUaH8QEo0IIsR)Kc>N_Am*VIy=_Dy(v){k%d0e!&NLx+{ghj!ibes6+D zY*zxX3iCcz`ym7Q6%CFq->y)pd<@;>JA3+S%wr}Za>nXhT6U)s9Tr@In7dK>+KDf^eJ4ya+E`#{Sw;~);RkP?WHU62K zg&4YNX{+O*H`JWvjqpU#N08D`SY7h~b2roAjQ%ri9~O#`+)z%$hkwY98C3`32)0?d zVYBY5%de)L>d6I!fqE{<%@fApnXYf5*1^9Dki>MbA|yadFYR;xkQj4j84_CBQ>W6O zTO0Km^(B;AHObNx0Wshd9nW{^xNr5#fdT>o-DV5*XyUCHezI{YJ(J$bH=fR_XB4=Z zZWFE*V{X4+RI-;%sBF2EuXcJm-Cekkt?jgJx@gV#-K$YK*LR!CqTYWunZaJVEw=4= zVpCuLZs=t}L6HpK;}7$D%9m@7x3Vil4xVwO-;shjk6YCjI%8pU#babc*q)3 zSnkB2KZ7+Ud+5YRh0v4x^KKsjc3i?yId!?bTqK@N8Tnfl%;x=6VlfR*Si*GViNCZm zYJ3H}KW>luK3Av2dT`JORgQF8DXvivm=_z-Hf*auBzE7v75QPnEV?_rtKeQc9t}^G zKFsE?8RBdDnYPcta6RgJZfA1SG+&C!@iJSe#p`lL(fr%Hau$w1>#Ku438{w2 zz^f1{d!}yO{vq*0-$xEi=Ua!Z3-XVLKK7lbRL;ITne(l20|CNk=qtSx5h88J5TDEE;S6|Nz3B0B zfB$OFhOBN11uy`^w5hQ`3Z&s-x>ATFW*`eziTRayLli%2yXaP6Fl?^z96njD_CKR` z2Yi2GVoJtGvbP*XOPs{Ms$y{&M6zm#kCoc%PidB*5ryyYer11hMG}H*zbJws zF*sw(x(mIKQ#_bfoD2s0{fyxKkzh_aJ^8+AuAPsMonXL{aF{36)M;*JHYQ2i0IuhI zK!r8>J8#@#W@2r93iSKgEiL}{u3Xnzbj4bg@w`DW&aa_hG}bzOO3u7+70esI?Iy~^`DoortI9PP%_ z(#A zMiZ$5&>8=tOP4&XJlXkHW6Xk9lAW&Nh!H|x0h;d&$Q%LI+;5w5}3u? ze(UCY4R7s}7VuR2A5+^8HxfiSkN7lLQiFOIU0i(&jiNxiFNo=v}0V#zj} ze!(qc)Qqa(M4|H5y6Y|S(l6Y|!YZ-Cc>&v%m;351!((@PIl)VcNYt)$8{aq)>J@jh zf)8GpT(bUA$&zfBM=F)i7cRuNzpAyby}BCw8}6HqLz0mPdS_(|hFH?1^_zcDx|XcC zojd^{0q$wn!bKmE<|Io~`x8^H7BI#7{j8nsZS(JNVI0WdBfo>L=j;@K7k^q?LsQez z#8Ld~yMe=V-hW{%@B?xiW`bsWWP#ZKH{AMfcrQsu+BQEwpM4=~I5lwdW!7bY;j@G% zU;_5X^4xx@d{KAPrlLgKAgRbA2|Za_ z-OR4`>8P`_vs8so!0oEx7|~lvGWu(+g^3SXW;ud4jDvkdsx_Uqf|vuS z5BPCzh@>PBUzaVBB)z6yK(?mnvA)NSDZ=h&ZZ$frk*qD9=TMS27CZug-jD%IhoJBA z(_g-%`*xd8_HX~vP&7*$8X0HWOuuv_-OETQ#h!pp^x!ztw{{c$HlNEZEkzmMfJd(q zq1E$>7+@uFm(tZajStXJcLCJ0}LdNH>N76>-Kq2 zexWN~^u4k0H2r5KZy1Bhtux`+u=Jax&mH^|f@}}7+!~f@%B(?}Rh!qO7{(z*eY~*J z^`Px|0S*oM1?dYLep5`3zFC?rD32F6-r*bY>!Z5%VJq;|XZDEnv@`+m6{P}uQ&uqd zmRa$eKK5b8MSQT|J!XLrY`hb6tc1Fzn*Rf5qt*(&?J>=nk(!0%xwIj&xwj&74}PZ4 zYA)|IP5zV~N&6AFJ({&Yx?JZq`<-;#;2}84S+dtn*`&fmf@H*KM!M#sNYiCx!w280 zY0f%mR$qYn>o=zN&{Qa;NBD46xE5CG;Q4x?ULf&{TkV#m$6ZKh`-LwHm@$c;Ua;D# z&$cS7J=iHbtWPRUICqH{iu(YPpi|JA0`~SdD!duuPSxV?x!1Bgu}h|enj^a{(k6jO2O~s??0g2EF2|x2YOz$a zSW^S@e-5*|pU4z>@;}!$Z5 zD}@rhKb|IsX?T6|g}8-<(+%$2GhFPQOZ zY)Voi+MW&2eh#uGm3Y?m-j2W7D_^}T*z^pB>_DDFkm@%bF1ZJf`vO5M9i-C`vM4(zb>VI;c|Y>| zgxDis2YlWoU2cbwmooWa_fGN2t$h&pjh{~NtSc6_tY@BpTldpe;M7()#Aev;Tbq(% zY43yc;A2RkD-IytvTBz*M|g z`)zG!&WmrD0dV#`0N)Jv<+}}s?nOg>XU~xflvIB-kIA??M1?hAel|2TAP0&K^2uXPk(jY)9IM)&C@Z5jw?PUY&a z7x9xEKGye&zOq#a-BTdu9{+kHt#P}!e~bU+{zq5wwlIbqoTVnsGtQS{pNny=z>fzf z?jIStkGFOMm+MRUQ@ZP+K!A*iBJ~#)`69Dy<6B&6{NZr6S=E?b-j%LYd42;$NOF{5 z-+^=msKL2@d8FeHPkYvXI{bFIjcsCOYdWZfiy~xLHZG^&=nY>*@{KJ0>M`m#&4)I4FD zK~%F3N_@A_vyXKjEIq*91%5S9!C9dI^o-hnr?>acsdhYYw`%KQf@y75g419CW*TGg z-a|08=ckr@U&EziZ?DFP^0M^DoY9|g8(G-EKweWrsepM2D@6@bv|Q2wUsC+t_qoBa z+XKvGvwdw}&FSu<6BKU88Dq`dPc2mjzimmU%A}F;eA!>GP4fV@!O!X{+1Sl}jguf0mDsm{1A{WW_A(TCW58A%`F{l;%#hgGVyS(jg+Vxyu+gb z?O#l3L_Zjc!x~A%|Fi4T_=-vA{#_Adf$Z(;cw@Dh-Jt4Gmu4hQsFv9RugKHKjtqA8 z6hxOZth){O#(TE{?caiDB!g3l4zjo_?UK{4yW*=VM9z`;&qDsbBCiwNbe=Tp+;wJl zz^IL0m-wyPF{fP8eXC!BI&?0coQ|CStxb=H^znu-r!EqHL`O$oX!iih#hi1=xijbs zBb*$1Vr{4mzy0H-3kPdIfBuw;6}517y@tFr2~8W@|drsS&qk%Pa4Nj*)|EhUaB?E68+t&bM1# zBd%{xs302zSFEnnEqg?#(1>D=V3Bway=jBEONI;pae7N(xt~+M~6oo42u$u6E=mq z^#HEvW|6k1g^+6klS!9qvmjGnx|`Lrh={^cgf87-{#8LefM9zAxvUcab-Rz~yT z?XZLi1Ijt=)ZwF|`v$tN-Uc+s`{`b?78Hw{{tc00==_01Wd>$EI&pZ+7&ZEE_RVpa z?f9oWdGZcwQ{(Dk!8s`YwCgFqhVw=JM7-YGuiv*sl)rj)Up|WWgwiGJU;XJ`w}i)$ zMIy(1iI>0LNKyXxgnUWbtH*rj3-h~H{HJ!$?m>OD^S5d%JmE#n)RSQUo~?@T3u6cNKugAV1=xR%db7VuYo( zw5CZm%1fwxW6A8n`KPGOZ`>5Nw$>>s#OViAJ+w0Nd~8{o7#;P^9xBwiVbQjy;E4&* zGk0Y(KCa0@Yrs!{z!cf)ilX8QsV;aa`sgT6jO+1&>b4QM2>lV+7-R{+ zGBnVD^pd@XgrZVv<<~E@y8qsQKbDZKsVJhNMGVOZ*|L??B+Fz5 zBU_UeqU=c+Te>AFCM~w?hOsZ%w~QiGGWJx`BwJA=;W;0Df6w#u>eWB@{hFEgc9!d0 z=Q=aG*=34OoH_c>V(rS?|2(B)v%E+2zW89cIW{z#p-aCTTiDiV-Es%_J-~jkt{@Bp z6+x{G!U>tixDPhFId-kj7QXy0@UDApQF&Tpd-rX0-L_vfbYo>@wK#kP@(?QSJUq5D z3~w>+U`{C*Tf+4k%An*4sr3vq#rXQ(h2`@VgS8J{**jf!X^^+fuMtGh$9X-e;sRNX9kfGX5K7zj#N050GM9op=ZFs3K8lbIab|&b@ z)}Tg?LR4-@_Xg;`)F;jBZ1m`3=45W`nKhLQf46u~8e%S2H@CpMY`+2$zK81i@r_g% z-qPGDH2dAJzFSi~#YBroPL~4$hKshsNYwPQo1^OUTve_wcd4^Oa5AA%G3Fxw89bGO z#6~E0{-Er&5Bh1#f=3CzdOkjF?0<9db;6|O>_Fg$AStaMJC}7Oh3Ha=C*JwEhaBrT z`Ivl#UF7k&BlEx1 zP8p$s+VA_Bg)SxLD?qQV!Wg^81R`E8R~SM!ncQ&|_*ymnT5)&J7EDS5 z`m`U(KvE>lr3>&(Ey|8vu7Jqr_mlb`67@gcl`cfYG?&MxI9sR^?Jj1N9TU5G#-(Fm zYCf^nZie@hx*bwZJms33-ewceZKN<$H9nE0c%j$TMc`Rc5l)08PI)MlTgozdYL>nG zV1Y&EKx9Tp?!6_>p=}C>`S_ol-@5E7LwOt8p>i?sXB6%=S)xSsN84+^l9m-)9=5A2 z?Rr4+(POmRIG*wryYnxVhuTWZJ3TwaDN*j7_cRippVWM$#Lv9&_P=}?iL|!Jo(b=Y z{>wb>l26`wKg6U;gFs<$zk;s;_)gv>> za$9asjN;-R;>-N2j53afDQyyBC3ds#(hhklC(Lt@K1W`ALW`hb z{Cy;=c0-tC`Lf07sf;mu5kqak<|eqD6EO5q+>K};E}@c3wlq3<=gYDt+w;&oto+B zW3OKnxf7Z)Mn&wRJxA`~3a2s%y2lN&pU#y8j(F0`=4+ePNMAJ=Q`V8m7(!5L#UOzwb4UQ%u>1B|OYXi>GXe zW8T%n2N9{TTO28*+~HfPx3cO*9Beptoj#ROc3$n-Hs2lc)qxcnDDH^yQ2)9;9-Kr@ z@rX0s-Dbtm{5hyjx7Zad#IULoa$-L9$6!yNQY}@izEhj{N^N{hYn{cs+A~bk_`;GW zVwT%eib>^b2z+fMVi+1Q@T1ZAsCjyt?Auzq4fzw$H_))XRb1T1DPzI2iOY1~ADfOa zm}*NvEvV_o$5pCFAw3*k}0Uo!n##hT;4~df4AqYZIG> zr@H)XNf5twtr*nr>~TGjRZ>#}dXS?J!3j^G695g7Yyb=nsj1oVAnuY{h*?3e?-sDX-JBosGo-FYzW=! zIPJYm!DFnyM&zys{CRM3!tdOpFtvYwM6V?bBg`HeOE`&q z_0m*C-Z`r}9Wv>#ZfO;wzm3B2h3Em8s?IJyC1qN%UXrbr`4PjDBrCi7+*YH-8CkWP4ENEuBGO1jL12s*Q2ViYexL_M;;y3L= zQ3a>LKO8w`a_sA&-agiURM>wV{5vamXLzZzLl<-MNV$8F6fy(rzg>dV-$r*I6Ec&{ zFs>iDyR@v69#>&@Qde`AbdiWN_OE}@dHHrr zjoxj~&h)rJgS>9?J=KXRnY$&U-&eiP+_i+Km;l?4R778>7~UxT+`4Oy+~fRf5`;;d zFRtaq<~bH_Ue&{M2n>e~@A+&MfH~T~$PxSGO^)~RD=>p3_Zbk zsGyI3@+&G$wIy(x9XMV87ex_fZ0m0L1)!N!;N+p~w(5k_r^Y}IuLdXBTpj#W>5`2Y zEh!c&LAb<-ATLjCA>851ZqV=z!{lQOc5U8~Ug1(PxC#08>$;s2ar)x(K;Gk@)LFxB zmRz?$JG|wr`DDha4<~%j@FsbfsfueTpWsu?eo)*9*7>$^5^EsL@!?WM8OMXT`zPfd z#oh1Lwmw&HLdK|{^xWjp`Dj#KJ93wV2<}|8gcxNG=(bvEWn1zm9v{5Wsc_UhEU>nZa5Mm(=iR*{bWknd;Fi7;EvdEb=7*P6`VR2$)5x6s(kXEU9##7bQ@^1h@8_#1 zVk(}~J^p>?Qqj(((~PnkgM;tq>lyj^EAc4E;9u0cm@_-DGG%cJGJu@^%XZPDzb|`u zhDu?(Q?J0DGDfcySJSvG4s?;Q%-C=j@dov_*^QmdU%HgsoyDoLKvGX?9w13 zcx3y{r$7mFmxP4ys%`wvh${z^kAlP8^)-2cZ%=S|bn5YN$86Jq6y^S%HX8AzTe%8< z{W*I?UgB&&KJU`BytI)k>;35Mmek|AmhLW{*y^;J9_L{mgoe-PcP`rkSLG^X?vRs# zNe~zg4_{|0*AhD+ShiSFanJUF_CmyiEOsHjDYNkcH4HK=Yc-MM=4+s$r! zquMmhfc{Q1y?pzbyEqxwctL zM*fQ*ULo|Ch;#KdD`OEu8NWm`3spm=QJGIP@M!u*(ALM@+6$g$EFs?fjE-hb64Wk~E{a z7^+Q5pYtc25e2^j@yGSp!7bmB4bYzo>7Bl#sPs9bWR$t}9W;Ut)QxVRx#l>qWbopd zOwarQ!6QkG%(rAf=f5#X6G89DmaZO%O2~~pC%+@KC`mV04ZFpy7?4OJhEHH}(pHWXGuhurgNCJ}SQVnA zt2<&xCRdg8PPpbV7{kZ&9|RVF8ZDztEq{VD2j-#}X1mfXqeuI?5Vg2Ap**S$(Za$O z1&}3$(X-a70&@8ul&~H&u%!P&KT5)4tZextXRf{zIBpww#=7}sifjub>3ucZ9v5KC z0^E+%9th=xVE`6x?3AtVrD7R_Q~U_zV3aOvZ)itl&eimxA^#)Bv-<=>wVp>_2l-?s z*TWavPY@fvDhXcdl=JvJdBaMrp?E*{>5rn6r5l`yDGmuSTyp{Teo2S2zwnl?Cg(F4 zznYa4_HNZcUUhW1`cw~VA}|&;6L%ApYk@B0I?zVzQI8HN@eV!Wio{a-^_5yQjC>?I zHAWLcJ>3ZHlhc9&2xo=Pp~-i`G2q*zd5vcB;IvJmYAr0L)O3mEQxN970`mE=+d^v; zF1$t~`|bYKt3ahW;c~yR{NZvuTziuY?r#9^L_jgoI>2tg#Di_`4Z7v@->^XhzK{}U3^(&HHKW0L`lzv#h zQC)*0RrYP7$-aW+kq<$~T!w*hav>6t$`HI>`(6@V=PxKe*rBc&3Iv`&M)@&R>FHZG zI3+RVnC~rzQ=9o(d!M=0bWeU3hU$Jt;xHu8WWl%g4yxYiKjIzvN zZI8U??w3EQla7CBE}FC3JELpNr$3T#{1rjTS(V@HE!os(9C2lD(}hKowuu zY|Fu^d2IyPL;xCdg4-svi#3dFMXT?KZTwMGGQQIJup^=N|@oj`DxPf#Rj{E%nr-3_t zp)=tll=&no?8XxHuALNymDGS|Z@K*<&EC%x2D#bQ2QJr}_y_TElv@%{sb`-}G+{etSg0Pz#vf>&e-Na%$>Pq% z#Y3edQMhq+lS@M}&h=ae%Zs7yI@?RW_Oeq?o!brkeO9>U;hE!VH3RKaZyGlD-|m*= z9x%gdBwn-8y{>rQI(}hgcSh-q?kjgmlaD|szZIRcGVT%sJKaFiL#r)FQ_ zPG}$xpFDBtw|8|LcK1)>P$INd0xn$t6M7=L#3`wJZf)Z>!{_LmISq1nbOH$%U%_Sk zK!`|`%TVeZLf|#gY0f4a^Oq0ESwIZdhe7T)uJy!PjWP}CS9j|aq%jfRJd)%_+LJpfqLL&U(jUXZZ zp^)corm|jqm?Z=)>-3zk1?SIq-s4)iv%$-0o7P@yyxiv2A1NN##hV%$(z1NoXU2Oi z1~p%k9zV-(hiET)^w!T0hcbWeIPt=6tTvEaKLvc5%CyT#40jj21Rg34hIONxFgWR@ zsfuKiay#5AY^Oon`-a(J*bkW=Qk16~kX{&N zMNffm9vXw^~@zwSA`3-I{x0iI)J;@rA{nmWpL3@HKzGIkR+VatutuLDZ?&54crG zpjqW(nBQJ0fdDMizQccCuqgE@#idy+l=XPMbR<{_zj2s*e9&Do6sLBP_hEh>AUWiT zMs4DWi|aZo8TkhEVrNX0Q?sn|y5nFbjCpE7cAHPbXEp?DL!|ZoIS}BNkb;e-O#8iW zW)K7o^Nw41M8J7C@9k=SHZl|H*-0Q; z{^dLJ=#mca!i{}$$91*+my_qT4@@sC{jgh+aTKfj>i3@Zvlt4P+z2etdKsE${q~_T zfcL1nBGS;*WN^I```|{U^K0SP`6mbXl;xZp-Q9mQf!cw zhS2w<4B)cyCibc(X0(HMd(5b`1Sg0nebeK{5@m?G^x!$$CajQNLOEozcQ!iU=L?lPdfHSodh7?nUkiHt<1oa2?@?W2RyF{|5}9phzfzQQS~8`?bO)GP4ASi7J22ljJQpxcNj?UOcYKl zUhN$p^|rBfio!vu!$9n2600hiKl^QuMX1v_i8}AI@Rt97@f;eq?^>CK;`Lvf_p=Ws zs;``QvEr0Vf2&V4X|Eqj!RF*`6Spul_ljU$*Rb6m{&5R++^N5?ZMw*^EmQ^~FFxepvm)<*{rTPA@s-g8C4A0P zv$muxv&fhn^|!sfvXPLq(0eE3q{Cdd%BII@O}FCmr4GL=aB0ndtPo9sdL2cpmu)AT zp?0`yDW9d;W)lRq%n1#cT_B$KMr3LDL@;~nr~sXn536mrn6j{?k-MNEF#QZ-+-|Z9 zO*jYXd(DsdxUN&jCZv+6Xl(Zx7>IltG4+d2>NS?;bXVtAjk3BczXLyZ<-knfLUp~? zRKTt*Q=cTdIb$`B5PH@5sG(>#x!#$eFG`6zDc24b&UM4Z?Z2e%v$hSp`JQtk!iX8i zp1x3V72oGRCmvE|Bg+q~t3AU@f4EdQl19(HOcX^Zy#mtwWn|aN?(w0*i71>}VTkKG*$hc;fD#1* zEjN*;t_MM_Cr;%#^m2qra@WRgG7$a@wdTNz!NVJ<0Ux+_{_a9|VRfQ(;lBjqG&;Rl zpLl)A_##w%K8-ug57N}K3HV{RD2*qZEi$-rhNR>hCxL;xJ40cx-7jC@@;l~5g=MEIloyizn zx5Ha*M&S|5WgO@C!k57mXg2dt+S=-VnOSM_fIuJjdw-BTaW!j7yUTNFIdD7DnRK{% z9**rj2h^Gve!sr;+(wiR9g0sZaQ-}+AY67?UJqV;e7iuR$%S=&{8=%QX`d4+mb%`~ zk@mJT`5CYQnBpMxkqdu@u~N>p--rc&u3@-aQ1#~^Af`(1>o%EMEuL@{bBf<5-ILOW zC7wdJ!CkWCa|GA5v9J(&$f$aYbxtPUMeRwbX}_N%kzV}GDsy-1BOH@-&UJ~mNdJNB z?u#&Whq~dx&RG58w8DwlNu{KSw20;V9YN`vtfzGAM#;QijTzX{|)U?XN);zya8tT1wsWi9LSwxX^YUPYl-4$ z^S*s-efb89rFz%9>)2;3a(j*y^bTSS1j|;r+`>uY{3v)0--kv&yz^xs`C|&`^=GdE z*Ce{}lJ0~2R5)#qwlY?GRMDJT3g=CmzkAy~Y`8dW4zEVxVhGT;5pFF=r`kBuFir63 zuKR5v+O-=%?l*r)yD#^DT!4zxF|-F;&*7M|?*_8o%?euC`+C#?*qXxSZj=aHj* z>mdG>6r-r4iJqd;8CBYu9oG*J<$S_cc4Pp>=AJDOm$vz_?=NOu-0}b6Q_|-$@1TK8 z_`9*EDQza{m$~GtU-6J$9+JOeYKgzI*}^&}g}x`l>w;=FClv)G9e}cELlnK5Ta4x7 z{Ig{qR~m12+x0}Uo7R=V4Vj%;y*nEZYd(B8r*Y^ie*eKoW1&uAueSZE*Vb{h00*D+gIOZe(t5 z&IJ+|AsFK;6m2d}$$WG1=X`Y#%#A!-c_sEBGgb`a{z5ZpUeSJC0_J2H}t~3~!ZnltA|0$X81Lc2?``(1jNa|M$hMI0@ZnN`db(hv7`#Rhl zQ&W>1~6~=yl_zLMQ-mwJ7RID3-*j zc`=muQS6Y*TnHhrq9k6UP_$t9^xEfpMvALn@2-43eOKqtSI_SETRoJcoL4XOUI>K< zsM2*coAJa(a8)oY@RYw#<2&^(d72e z1VaLzBrB4A>I3fJw}%G-+~f}CZ@xOxxQQZ&&jHj*-ciiW!NC4_W#IB3Wdt${JILC6 zs{yYB^zM9CcMeChBk_72w%Y!s@m;8!^vgN4XzW~CF}t`1RVktmee)qG7zQ1B z(h(mBYSY#8K*d@41VuebQ?TwH8_kFKlgpd@o@&kV6lk4WNWTIChsDn z`M)WLv#zeL;%jI{87psaipAmJ==ijgo z*Aw%y?b7BK;h3crWr1~e5%PjZrj}NMzoc@el(8g$7#EeAty+}WUIgKWAae5L$y|s+ zh?FRVIyN@;1ueq!qfkt3DTm7Zz6--2-g(>hif!)q_6w#7F<{aa$n?zrVPdV_hr>8HAwlR!l2K^O5T^tFvf86=BFw%f5xf>xiB9N zeOo#KNqu-=z5O~WWXuKm`S~DYj2CA)mjzDs zf5W^VebR|(rCGQM-a<_GpBeSz;l#?3s{J(lT68VFr}vgxu;9TPXH+^^uOc?aiBm9! zZ}!l$&t|;4E_M@&`gd&`Rn{M<`~7JX0;Hp^q{D+ZfD;Ih7dS4?Wn?FcATJf3R;j(# z;iPdrc?k>mPS+mMQr11&^IY~i=X7R&I4o|7l$B8*3Jd;Jbwd4Gln&3_cb0N<(R zKzf|Zpx*F>%4o;|J5QjQ7iRU->0atI-^X=HEKQ6-dUK9zqea!2ebruv*@N$}Yhior z5!8alJc2k~!Dc^Ar@og?w|J=fOpwYo$j)f9gQ4Z(6zv($WtI9eE&Tjo76|-*e_8$J z;-vZoQRG@ut3bHHv=8h8pL7EQp9~2`{YXUOCJh=a$Am~^KD>p? z%!nHxS?rx7i2Emf$z9`I{7V`S9pvdDX~WAN}k^(M3G&EwI<+LdHBQ zpVZlX>2on964eUdlKme&2$GSoa*}5hXI+9&I{O=1)a~DizEq=6Xq*&O<1yCOo^M+{ zF98o#x!T8>HLW=)7Pqs+ZL7|ZF}};Z|nF>;E)*xz=eIc8C9I+cB8Qmf{jsHxId#tQ=$6?Wv4cR zmz(lS;&1*g1vAqmTMsoW)#Q{3?<=_->p9B2mg=PY4sys*DZY6Lf;i(BuuSC5MapEVd^h{Ra`z(8 zvoi&~)u?>)R`dqc6LPqd*hDm1%RhL`O!Xqi3o!|clQ?D+=Im<_M#$&*DjWIOfNyuk zI|9C0BVttjdKR5tvxO>h9Chsx|6Dr|JX===|Ni}JikDl0C=9648#Kh@|Nn;fE5&$mzTR(wTOjIRB7^YPA}=8+;*wfDb!*J#dM>OVKP;tn$VBC+SAf)DTHZhSnd z?#ngE>j^_p`|)X`og~tJMa60LhoFW4p5wdr-D7s^rOz4f`xtPRWRAI3C7TgNz^~Is z09!dI2NFZhH_5!yHk$}JaAvB9vT@A2sb9$$?%aoN0?mg9p=*GX3e*x+P?ws>p#ItOz3x(~M;_#e&ri4sGdd>o2;Cx!tDl@L@Jz+#yXOQ%*%nxsB6nK!wq z85tSFC>~?xgxXE(tDD}3Ug&Y>3n*m)DobIzl|u2=|J7GsqWoKyw*G|8~0XBp-&a3h@n$t|7Tu3B%5Y!Td#l%jj^8}ypuK6$Zq8aVE z#)T79RlcHm|H0Teq54wR5q!_Q$ze>bw@PT&5fV*U@aN7L_=R$=mt0nC@>rh{>Z2hwn z=0u+RHopxoSEj1=wCp{LQ^`6>C_P3v=dGy4i5`);fYs}u6$?*{n|(%xT`|?{E-|#e zIR@IJI1u2*zcCry!oQA-I)I>@+0Rz5$xrq)aNcCsodu%7I+pp2<@_~VG=)-cRTeS$ zRX&4^06XbR87r8jsl=Sj4ga9RU@-P0dO%gF%$I=95ho36r_Kb8?!WWU>a+=w-E#Y| zgx-{jQIDIxD0}F+`;AcCmcH^JwQLVbBduu4AmZk-8qc7&b%HaeXVceMJL>4Rp6(v^ zx>iOW?mgG^`R8$7>v28ofe&xVgXPrF_8dAkJ$|r}tGceo`LL~G{7hNJ-Z0rc7fg>j zcmf*L=)VGe4a`eix1{*8i_wpiZY3x$&^WGso#JZUoADXSnzE716~X6X@_-y^(qMXGa;|-E?b(2g!77 zzp14uM?>~i>@dI51@S-2fx3dt6VO!U0OJJ1xISB&Z9h-!aqOTKR#jnx85{b+3Tg#z zj{o05rQ?`V(G)0Gm@Vl^oH-#^i3!>Mr3O%KK$c%B33`j&)QqMCP)G3`DX_@B!KZv` zIX<{B4l}&%U54+DKFcbb-{7%RICa?V0184kX(FX$1`pJWdSocCel9KZBXRh>5+rd6 z6Apg?5K?oj9|PY5t(P{g+ACFfIBtNkyffSi4dKqM;ddV3$bHeik3%ku z79*Y6dq%o{KWq+|ts@)EvbILKAnp?EG4#=xZCl zkK?h4fy(yQAA2^`h*3AOYo2S^9}hf$T%<%@i26~=3dpdqm+R>!M{NE(Jjkstb+{{+ zvtf32R+A#Q7Ww_U9#s7c!f~XJ2^;8PQMe*pW?J00=k7xUy!XDvla?gXmpeGC~Uv~-5KL>iLqhqR6I^boHCa%x41|9G-BkQ?p#>qSc(m z6l>)!`mkdSXG&oK(Ra*yNDWs-iSLWO9GrSH*bu#8K@9kqOTZ~U_ttas*VXb03bY#f z9BCX>DZYzg2{Gb&jvwH+$6$(gj+SotoM5`AVUvN9G`GA6|Io_xWvcfFd*x4-o}Cj3 zb5(J((F}V=H9n`DKo@Ow=e3zTJN4qG38b1(2QKJ61Xzo$t!v*euf^lgVrbq8bTtP%HQHUaUp$g`gkJXv#+9>czNmLj^*vsqZ#H~GmTZ+EPi()7vth6} z(Mxz4wQyuEw9&!_pYx>S{NBaA?rCqn9%RM{)9-uV#GO~35TqC{)~zP6sxE~>+d}!= zX&?;io6#)I*Gc&%VfpE6PZKTNhs98&CCsKQoYq|yDD+?#wVlS&AU)p9-FQ0O;3Ex5 zSf2WEx&NdUC~c`C(BZna^htqr!4bEc8u|~>103j_w@=9J^T?xF*bB9V5PB@Zm`S9b z+IAtT2ZT(k^ZhN~Dqh_mnJPpv7966}K}P^gmL{UGf4{2|(-^u;5k2r6=b|3@R3GL= z0Og9eFuNpy-@EXJWGxhU{{wbbd!`zx(ppFKaias7q&WDrof$16rONc$5y#_c#+d^a^@6SG%5E+a4phavHCibgU<@KpP6j#OBp)3v(R* z0M*OGA6KQB8Y5fIw7A!}Mg509>{yDsCqT>IC?9nWfd&z^*mfe44PuHmhiUogoaIdg z767Y9{Q%vFk|>-#{=Yp@#ZTX*%wkXL(=1P@DpOPa{+-W}nJUOtzd!D+`NFRI(^IhG zm18jg;|1UUNQREjbDE#j>%SVw(W-A8swSE{X`Ildy_<3M>`bN+-j@|@f4C8nX33h7 zWJuq7c|G0SOt_#C=ZuR`XU-Z)MLMh5oHw{UzyZUpr@Tt6nuY1P_vV97VAP&TwiW>o z(8ye6ygWDxNAi`-ny#8QWO&=i5$_Y4+!Nd?&j|l7m34P_kHwu|qYlNjkGWO#?4-KR zS>TwMn;)xYmMlSs0ZUIW#$TXk#qbv%gCKmz?tfM+^A?H=8pjZ@6v3H=rQ1QjBZ7Y4 zhk=NRUC=-AVtjYT5b1=-&5uHqs8RLK?cIG@C*axA5VIVMxWv28`^t;k#6sOFTc+ge-W$S&*ADC+PO^z=bO-Jz^iOj3iKx`ToA|^fFK4HHt+)1n$}C*1GaK$EYqw%V9*$hWxoRX!iGizFjz6X}m3WxihE*6lO*Rzf>1{ z+8Uat(+K{;0Z}*w!6RGI{(u;Td~~$OYjQ;X1c31$&Wqh#t3xJwsS*u-EiKc4K#L7~ zO=#2aiDNv(cM;3FSJDSprU2=8?Sb}-V;{G|345sjgTCj&FqLzp{tem3Idc-5a=g0y zGv1ZE-rw*{tL^}_7+q;O`(rF&Zs7e)%TJ&WA4jatoRO5z1A(lwMcDx(Y-ov;`3LuD z@J#--oZm%x#bb4&eu^u0BGpQPe^610kF&O0+j87~BX=+mXV3yMXSETLlcNpFSQpWCj3=p0-B5?a%In?=bC0qYPAdX&BiV*w|!n*!`Vfo5ZT@Vx| zGmmZ0a$!X12wY_FKBd(PUS2wb`@PEs+c$99fmYY)w$@Q;z(mo%bLRslDLb`Rwd&`z zbmu_dblDz7qa=KCGL@0O>`3}&8`_bH`_6Lb<6AX0p9fG;VPqj0LY{k=PvxP*xy>1I zXQzB@(2%sa>7nN}7;z$moUrolThANtLU)%4_l_O>oa>=NXhe32EnSdMC~2g*?tIqm zpD?P9cB|Lg9Vp+=cLx``U^qBiU?$6bA|w7C+0!Anm>(E_Ua&&IZ$gBT{TVeNvvO5h zuz9r$SX`#_H22OaosxIs4&sI0L&>Fb=jP|AjQl3X=m5wB+!ZAuL~Ha}#vVl%DN_ro z?ThbGYFa%P71bLVS^Nze5*2G8R2T-HRbyED@pVL2wnnZPTK)dy@8w@x7@%zpX;j;>_F7jdwUQIf0S$}D7!E(F%G%t66U^_$(Pgf0!E`+Lr+ zOPc&twS8{SiClWT1$nqNQ;c%_emXaExx=Qy%@M-0a}3qSUrzV;%se2}sddfi9%No7 z64x=INjHU#6=q|&8gN@GKZG6H(OP7VU-W#&8o^V(2MYG?9-JJoIPUON4((7m?n zMzpPkXNGp3iR0rko3SKj40&3)Fb0cLI*d42p##MV1rn4$gtjb>Jz2{ElFwnZ-!2F3 z2H;(55(K3XK^`u;UO>>1gMar4oWdt=+QXA1xrcibw>!phSe_|Xb5)d8^LV~GT{g0B z;Yqj3{@_7Htn^W*D7iA$BD7Q!rDILdQ2H2=5_n+QSyA_)zKDE_wBb`2QX!Z&VH+85k+bRGt4$pU$1R}S4y+O&}eY~gUVWr$_E8Vb* zMFvdmuF%gR3M0SZIY(moGGJ+VZtD{HdT^LRV zw=R?@_@9ycmB9K_TrGTv*(Vz*BS|tjdeFc)zuNg{1Y>JK!V514g_I@jgSI3Qf#az7 zny>JGL~i||lD|V;%R_LW8=lwRkx(IbYW$^l7W&Y3M%^r;+GTsF=6<0YcktbCJW*{^vFgYUM_MqI0@w<=$+T*2v`xQ5Ts0Z{+C)S(V`H_!!K! z;ux{4^#SDn;{sf}@}VX7QtPoabIzfB%XLFOBqwW7PpM{#?aqk0gFD_`>c#H)m67?g zntgxIA{F<=DdU|dktk%FoXn;4{*tJn`Be7ol)Gf_t_QfAml&?yPGezmGcmj3Mc2-6 z7kYmBm<8=dyph1rj=zh$+LFw&XS<$!qTS`bT*ra|l$iX_d5M-0iC3}hvvk&VBmCkX zN}gv{^5V0;zP?+CgP-5x@v}5vQX-)Pi@t)NDdH=!;WAmK>o;+kMvrddtSxD4S>izG z^jSshSkk^k6JGc$ARvIFD7+!Vf#^$Faa3%F{$Hj>kOAJ$++}$yd7{8UL2o^~@ROp< z5agN_5|nEqhAgq>QT1|Ayu=0Te<(JPf>xk6S8apOkWg_#cjXu>L-a~&7~T0h=biia zN1+?dU*}`GGm9~6K)byzZlc-T;RKa}JYy6>|@I?gNg{ z{k0FlWbytN443V9@}}0k+<#uwo8@8Kl{wvR6W?EI(dY#MFl4{<(RQ-UCB{igRFjo4 z=TH}QYn~Y8Kg_2m8f+Is^BX37Pw(Ko6&$`6!?&{rU=ddm=OPc;k`%XL^rIZM3w@P% z;e`HROsfETvoOyCZf|}1*tKD*iU^6U8;J6_x!4LyJvOJNy~$2?>Nhy}Wv0-8c-;Cy zFO48^;=XpHhJ9uGU4NsY9IKuwA5|pk*zS!iAyhygF4gYrgB~7|)iHzz8Ko=_1bzboJmn$N7tJ6?#6w!BpxK{~ma+kIrM z>`^f8Q(Zp`x*h>L)hGO=O}6MZxCnn8`gTlWhrm%e`)cgahUA$`l&Hmrx--Sap^YgZ zb`{M0<9VZ6cU395g`7L9y^6Pf&?Q0fNl@}}-f)1#$jh@Z@=NrEhFB#r!Qc99=-)+m zZ(;xBvz>lP`&eW?Y3POIY-lTvvaNpu`)%#=h=46;?TXwb)UdGsQP~4=3bjZ~R6u&b zT%=>Yw6e>7Uv@+7O%AJjgus1N0kTVG+$SgN*xt1o`2EBxkD+ifW98YIu54q&Es*0qrKcYf0 zmW-%wJ55CEf?5W*d?Z`r)!FU)_Rk7N97$qp@KQm+M9Tx}dj-9t(3vr^dS#DQqU2}i zwV}|T0@Gyq?Vr%OnE{477l8pbe1Jj6Bh<~M&Nc0AWS7u73_Bsq;1=|LJ2N~Fc5;>G zA4zU;|2u`x(UohToiG<^yu;DtPE}>Tn|eCRPyLv1kX=)(vrVaHzj2O}X!I#z59@o) zk?4BQA2|zlWI+fO%37`ufPoyppTeMnKX+04U(!0(I(XH4H+$$pM+sABTa)MsN(Qi7_obO7J0={ zmKUvHRoP{nsEvL+pA_oUmu{jn)Be5!fv=U%P2mD#jTbgAXqk&VrPJ59((G&b_7N7< z4qYoHPmmwNjL4%am9MUEEMJ$e(9X0%E~`sU18SRJExJWGVTNfddNxX2)bPhH_Ftmh z*zTwzPxUX?-a|ZMh`e?#Gk)M?st49k_$u<0j3L`r0PT}I-d4E^(G}nx%zOg~j{`Dcx3Z$NXYy6TT+wlG2 z)_k-j#{W&^BJo~uwR6*{y_D9Q&O3z09CmT7y8nAG&wQ@NrH&)GY6wc1ig`tZ2?x=zY z(OZ_kJ{{6McJ-5}K|HOsI`51^fUFhA>7%*UA)bCkY~ot~Y5K*SHV5-fAfc^LhbV}gxNqTh zPpl?e^cE43Ihw7tk)e!SA`&a(W~W#K&Prl8_U2ha`|r^22AZ6cHM z6FHQS%hnHuS~>A@6E>|;Rt@xRL84DD8iuU-?xCB{*Zgf#ixJ25kl-`hH*OOAZq;o& zmZl{;KfjMTdk?2}clXNh z`~P$1(a-5V)eH^?C9!`FRa+%S?3zam=J(YYHjv}xoTgI17tXI%q{s0;vn}B7lPCFw zto*Wg)3)=;F7glANM%Zt@%_(-@i~D>>|Q8z>~|P77qNC>?3Ca;n3-?8j%w;Jyj4I< zGqk~3#|n)=o{MdQSm@czA}BD%9R`u8=90P%pRV|zY^6RjwXc|Ez~>lxQLkP$e@oWmvb+yxh&nr7w{Xs;v5Iyz{{Kzle%-l)x^u6f zFRCl(s9X=kPP$qXOVTDhGx^S2uuSP;VnF1T)?{l#vGS2;-3zgav)Z?k99&%FInn-=>P@*Xtk=Q^Zucvm2i6B0njd#K zQ_waNzcm-y;OaWGa@E-b2gJDMMc=#mwn_Y;^4=mn@O*D;XSb3BcVYx2;tma`s!C{P z)wJ`QByb`W!CtaylsM)&=bwdzGRA96Ud>>nfKp`#R`Vj55Thn3E(uoh)#b-h?L8izg)&LmTMXM^`ZQi4)yTh zCCR;xYYu&f3cAa%@+_TSIU}}Y@*jUwn9^bo1DcapK3k7$aQ9FdCU!epayXD(u6E)& zY{zzSEYpwMt3Rro=nap1;!b_?&3nP721dj;B(Zbnqjb*Sqhg{(gu*bh9p@h$OrI?Etl=6pAHk+$upYR zaVz!WdOeqcBG4Q(7R`+|s2J>NxJG1ORQbdplNlM%t>#6cjEXYK zn!I?4vUVJ?qXJ*LZjXvV{yj?jZyPBv*!Fa(Ge7BbK6+ht$e;)CDR|Vsj_t4Wd$4|a zFj;3}Ny_AAGn0d}P)EK_;pFrvqQNHd1uJb)@*?yPMmFzgbO!aNsyO94soAy34r4RY zB6)~pbvvH#$BR4)R9B)nK7df3?`~30?0S%JdXD|{N=o|sIcXdOX(8&uk*P6AgV@0n z_umDW9U!S5l{+7`F@O1Z=l{dgcYss!kI(n_zpg%4b(KEO`*}albKkG~HPD=gFSH43iztCeRP8qL znodF8ZEd`66k5+_jpVs6dSeEQ7)Ey3kT`&MzOA;(h^4BU6}@L}IuT-m|K>_x$Secp ze_NRbyOljm_OUl+6Sz?wCgpI?PadzimqNIK%jqF%lFE5c+2v8cIQjXu-WvSi1~0Xx zJ>O&Aaifbb=Eb_{OHG${c6R#U+VO}NqBXzA!4g!j&2?2*sGE(>_(l@^89hS4pw?-0 zfY*dy8*ZqHrChk9!~U-r4G$w0)b4UFa%y-ajVwZ=mG)a?+@TuqY4PqZM+p>?cBklP zxU8^sw9!Wfi)-u4N?}rHPkV6aS@AkfM2eR6zUa~1Pg!C7d^N98QWEZw)gRNt{Xx^0?hw=#UO|BU&yiSDa?kgP~9pl-7 zasUU|J~O_@=abRRsx6(3z^9hy|11t70oL9M3kWNi>5`x=jOQp zkpvWZKsBd7im?7nfkrqj1N~?n9l0O z%!)R-u3(@!=y&d@V$gZ+@~iQZ%!kzX#xybZ9}ThPhvXA%mDqW%3rydJ2G8vup(Y8P z>qF!*Rid(Z!Ey_ETY{P5tz(af5;2IsFs5GwD>!pIyGS#{f4IO} zJRy=uOG%+wFr7njNhTkoxBvbLkLBE$Z$C&ufK#Fx!;44YT107Aj5oz(T8US9e-u2) z*eQx|d#K&x{E1?Day>x%NZ%191W4>dp7V&j>R*~Iyio)k>e#Z=<2$xZh0R%-iflpi z=qmE4Ctsx?(#~)Z9kNB6%sriZOrniMn!=ej0=&M5HfaL7cBy=ypZJo!aXjbrURT!r zS2Mf)z`Uv3XO~D@qxWEL&a$bz+!Z$YdS>5NGq{n_9 zMGmpE^l~#Dcga|;H~G=jVXL3;F#I%+vm2f-Z4GVH!%!X&KvfhJ$l}7sP^V#Q+(trA zek=2f2rC>>QD83jQXq5{T#o~>IdxSm|;iUkpuFSMm0Chy%U>a_DMfIxaeb&sNRd~t*C%UJ#@J)dlIa= zFg62=F9mE#@sUF@3P`i$?L9{Z7nd$m!UJY9Hx2!B^{kd zl-1RF;s*>=JQ>lmOD_+I5}G8awP>{w;B$8}enn%hJfJ6LTigW$0W(Cc({xb%m~PS+ z)DBBGMzYoQ3OtNrNOK zpqGf38mfO~e925S!PSRo)WNA2@AyyIwe84{Q+S1M$c;#~OZ*)hCV;L`edR*f7(JK3 zH*?DTzzln`pFtZN{G@r+Pd;X_;r_4}HEnya<_v*ST zo0(@kY)UxE2pt2jTTZjc9DcL(bwv+oDW(i|nT8HCiceNj7OaU_Ud-m561iKdtA);fM3-1rG zwG1OGVNObeNVNP!5R9{PIh=i((`(TgmmGUD)#{XCDrAe&oM88gjG*SI2vu(qlqv4- zB?=`I;3AvCKMM+PFEE%NxqN_$A&<&%Nj0sW9W*y*11xPMjk|tcq8SqDoJ&2dcSsm? zJa0ZD{aE46pe@(gnMb1+51;>Bzs%{v=~1b+j*iR`)(GEN42#-^1v6?pNK`*Z0t!)A z2p#f3c9o;B2|ei|DbM=aT8R!4IWRZ~SY3FOkROfJYFdRkr-8O?Q@hLATlzVzsM&2* zj|>4R8Ox#u*MMNLW9c>V6drEfsP%+B?gmo-GB z`?@idXl+rK{GYXy4ZP4&xlQ-KlZD_P>3#U1ZT?&C3M8@|l*Wq?Zz7Sr0tnQ2;s35+3i2zKC?%6W z@wVc*Xf!3(MsXtSS#{==v5VfGSoE7x`=e&N*Sxw10#b;U2xZt2hH#3_kK$%W*c97k z+v+jCiCvAErEfm}J)Lnn75O&8RtF2AkW>B-;gWJ^*To5-D#n6G)vE>ixru2`I?e-4 z0hVG5AYd>V*vY>$)_UI=tN)Pz^v=QH8&~K7Qv|b@~`{4F4eNEq*e%tZh*++V^ z^8*l&zw`4}Rdsa-Uv@96dTpg~IuZwY=&}GR`KIM+Cu+J2ZPf&-o!_%3?ewziXxz2) zkCP6YEROuX?3Lj2(G9KAWeU*^Nf{|{-pvOp>-n&b^S3!St4l>etj9C8J9FDAs@&+! zQ*+{bYyWkUXSbP$Y^{D9Nx}ec>v?V*dUItaLhg_+Mj7%Qo=7B3kgn{Sk)6AnTM4a# zkgl$-M~DzDj8~lS(~o^?&ArWV&UxHvMAvz4Tah8Ku<9Tr_E!#wRynal9LpE#E>=GNewJ-NOYEtG2<#hF{waO`xvH|3QqWJPZ- z`Ci`+hyLk*>%{lpI+2t0u<9Q84%8X9ee^Xj*6l%GBBk&43lZQGw53rfuLM4bo}Qi; ze?$%$J*kF6bwTXO_D}$o5WA)s&O?NvW?2Ph22-prgn$x#8ZNnm1JCmasF%p^wwPip zepT(ZuDZRm>o>z#ymE9ee70Bh$eTG$6ni~{4+n;{9;+*PK1N>hgH5c^D!LpiWOXFO z{I*|gw044A#%=e|-R?>yMz2`JJ#NfYrmx|B(MrB|dGC$xqC!K^v{ei*88kv|csqyt z23QFeS0`z-(|62>V!G+`uxN`zad8!9oZh^Dzx}ge?9Fa~7V6Av-qQT9YMlCFdWJ?Cqi8)O-ZvFR|vgb)Mqj&;* z*2O3!at^LPBhUs(Oxjj!)0;B}Y?cT3C0VhU;e6NcA(16!!MT2sytcXd%0W(l4-ZzG zp^X5z!FN)u@B;gdI->3u=KTx(zJg{MAKJVoaxKC@Xt|W8&?7*t~dKIW>`J55*#yUB@h5kjE5O z$VzK;SeC%=@RZ#{+^?`~f^PHzr+oWD(Pl;`ww?}R8Az<)H=iU_jJJ?aBfHPNEiKknv zbltAo>}+~dyIw2EnF-%hOk}M8(X9U_I5@48>e+RH7&-Q2{tUo_k|+RN5~MHiO>Mv{ zv@(n1`|br@Nl`4}lPiU2+h-tDC7RhfN1|rm`yWVg|a4(+zQ2YFp?|G5F#r&ZO=b!XCi%?xaEZ~uX z;~=21M66&NB7Vgjgep=|{#hI^oXImeUeFasC4PnSV@C8Iw#hgLe|7ddZ|+NuPa)g? zYm)rVrVUrb!7BNbSb{ z_+QHi5TPgg0F3=LxM}JD@cZiV=y~~eH+h+_zR>EnA4EdDY~8$vIHOb%1VF<&^l?K* z^8)4jv>eSc@&&y@E`9^UfEO+u+g2(bf9Ng|Dbt|k>5!Tk=&=l0%i!19WlSaZu^uDO ztPXrBOR!HbNR+s@B7*^kXuJd^(ue92llhzSM4Nw``l79Txb5x&!*Sz3&(cxsrVe&V zcYWA#V!Y^ABf#7E>v2>j^Mx=p8f`$7eXgw+vLO_CurDFJb3Ns5?TNdwqA@CId3s7V z75rd+w4z;TdF(mhYzdb=MsKB?Lzex<%aF5{(k~c0o4F$X;Jw#=ZMwKNVHYle0N;Aa z)&P&OOK$_()*V@?Vpm-A;X}!eS5q;tEAP*UIzYRZu{cHe8AuAsRE$s{^5RSZ+0ar` zxbAXeWiNdPwD+AbPBT>aFit$ZFyUB{Go6UW=MlUYdZ=eNZ)TjAHA+$Sy-M+=1WjQO zO|AD`US_5r-)nwN(2?jGk?kB#S2u3+rpTt&-lr@+dsMahfK#<}^Q%i@4@T>x{pusWKJHXEs?8-_ zY;5QS?LSo!81ntBD~gIFE{f;aR4weSD_piO9Jv9GC$`nk;yE}~G!ya)9IExiBiPdO z3U+3aG$L|sY<(ul9gbvkun50%i!64cjJK)gMCV!*;A@6+=M_!&8gF4DI+UABAS4La zeWxhkd3bJOZ>e$1$J{3K|ELzK|29WJvPjiq%aw_;#zuqDmY*=$ z8UVl}=S}|7QxZ;YUCn1Co%d)ZOZPfl@?M~tuTkWsP_&a8PJ2HZ*WXyj6iFc^^5p}0 z$LZviiL_4Y;Lo&O8^$VR8-pm=s7sdX35LhDe?|Xq_yW$8nq9ob)f@7IiBS3!rTxqw zcQn<|d_$s8fI4n?^SUQ5)0jFGgyRKN6)F1fsOvxYU7;_uezU0V$WWD3T^Nr_*rQ1k3~(HI72 zMt#;0SJ#qdq4O`WU~^~F8B2+x^G=89vTnb}QnrCMBI@#Ih5<1<5}gx+8b{Fu?!Kpk zo4~kj0wiW^)$J8f(QhnB%Dqf?jN%bnxP!3w4~8Sm>^eOW!sGAIeVQPmmkn1{G~e0S zZb>e{Fymr?IZcPvb)ygBmI|v?pCWA96DLd2wu631q+febwO;DtvwF!GD)6F+olQ|p zEfbAF#dCl*_noqCVbTqrtC2Y#^X?Kcig-~%7`@h?n^L?;Q&Gm0X(#LZZ?l=mp5Gb_ zbA#VYGXI!%ve=TWQHZ-7<&W77*Hottok;{`^>Q;s5WYMnVj^?MT9_9%A2~O!okUlX(T9%L&^9Uq<}I>t zWUC!H;!slvOPD`AWRtcmtfCUnkvC!s!Qjy@2B~@0bIsmoCs?@m1uU}5g75)8h3KB) z{huP#!U2!R zC)YxD=@l#U3zl|GtYyGjnmLs8No0x%;E@xqO^uHxnbEJ1&92%Hu|8AmKO(BJN2*ro z85mH^9_}VE4wHt^DVTaUWf>Z`6pW5KE(5D!xxfE>KYcny9>_Dv@eX&kpNAtOjWS&9 z3|Gt5s&YJ96Q)Jk#a<{bK2CzG@5v@~P;l{dnsMf8;UVOS;7jSv@dtR%{SnmYr+g2m zbJzQ_79Au_C8h%Uk=n6LI&gV@CO&(=W{j!yr?V(meJWFJqO*!ITQ;mP>2ag&$pLT{2zji9lgE2->KD6CPUi++Ky z%JJLYilW{MWw9ZpnlbxHs|x-?z2andeIYs;-AEYFyhv+016NDW4lQ!2QtycszdzVg z_Ouf6iwXuI=}! zSKC(g1E#aTK*k7yw+XQ8OcIT`X}3yX{^#N;!7D-IWNc5Cr)oAOCL?1!QR~bOe^q?5 z`HoAwS=s}dlH~JTT!|Vm$^@q7#M)gxzJ-~&xe;hyMQp3T>d7VExEKH6u6h(VW%w+S zI(4QO$1nT)DRQV}?uYof8p)QIAm3!JHQfyHp4a~NEzBw)vglXFe&zMfvtBer+Q2S< z-u26o1z3*F0!GLhVzMUnlH=>nj#+1Uz>0(? zs}l1OpW`XjE~ne!uCr(`M*A>SsoR=6SB;uRlQ+S|#bs-}ZaedK(^CHe0wyN6Z#kTI z9Iq`uhS7n|aVT9@3(lKF4bVU-4QpLh%z>rDI$jixXn^PrqJ?<-D$wxiWUAhG6=%w{ zOoe;tC$WzAT|WN~4!tv0B*|I%{RKL)6FkIjuAuMIIu1+uGV9D6-PVl^9)ZFax~&!b zI01@0{c=G`LeC|zGsxQNWCeALVi*R_Dul4ucHXcnh82bRjN=|0x85L{sh)6Xi4&rQ zfi*NdfZ%y-=A>y4E;~TR=a;h<#cTkLDzx<-pNx7z;t{CC)Ae&z^(bvrGF5WxqxlUL z%@$iaMYaicx%iK%Ip1vheGe7S8=Lb+1aQPrEoddV%_PaAl9hW?0Khf!8@}D7GVkeN z?6sr-fy~B8Fm@~fc$T{8UE)r&|CMkZqEJ3Ty}I>xC8cu{I-POZf~&vZe5%q6!ZNJ< zYADG`lnUq(P@RxyWb2BE;8M^xlmv`LCRp(+%h$4ek}0Y_8n27|^fp#HtEi+z!O7qM zEw_C9gLgJT9EvQKzSiWJ_8ZTa9sK7|kp&Lkk3Y`HUq64hq&ews;Rs2Fet?EKj@|fz zCcmP^A*|&Ou+zgtDk1;b8GAdgK&<6V|HA9ju@$(g*kKvt-zg7&Bh|LdA67>t7pUfI zf`i-0(lgNLKq=u+GX{OtS7A%(D-;4=X=kj^&L-S5;PUTLyWmm#={}XrCY8(<1e^Aq z{wZ1y74?l-u1KRH<<1Sk{7km|lpd7C{H&o~j-MKR)|B;$h4FK3ax z_VfR~vSZ{6t_RJ@mOnHR-(i}36#+7f&AZErXDy}^B`lt6K|3)i^UjR+P(=lQszyYT z<)@JFP6$p(HmLurdqbv$C1CTeNnujX@TZq~Jfe;REE%01M;i&TVX4#?<=>1@T32iA zF+>hohxqvu1(e@z-u$r$nZLJqA6goFOp}fPwfs~ECjTjFZ=RCR?pXv#f`za1V=zi`a)$eT@llJl=rrOVZ_C{|$X@n(BpjcMPx#u-zWB3*0FStRo_ z>VUM1XLN5iGLmoWYi>_G&oTB~{JBb7QMB4wz&U&h;TC^~{EwNIA4g@Mln(6w z-76zA!RUQEF6ZxCK4gj}`FnVdjDUUf@35n;=f9=L+9z!?`)jv-R_z2GAo9|GV+SrF zOHCzIo{b*-utI6eWSAf!=tu;>GJuz035zq%J$#I^isuN#a_o!UQE?{N5-UUGzfHKE zP42t66(;>R`*gQxJy=x#!b%0M1F5zHDIO57Kc>x;0Y(b6ayoQIVQ(a=x}o=l){d0( zKrtpwsJo~-8R~2upnXdr3>w_75d=JZCBS2HV_;QuV*s6*nMqZQqEXeQH(wUla>&88 zL_N)==8Fh&7U+anymYCPeX19yX@~oKfYD+Hp%i*1%EJx zp<|jNxQz($9bVxN`#&B}GRT}BEfg+f9cI8BYba2+>s=z?#Va2;MXjna;j`Z*ig#xYY26dNO#I-p1VJ_QGzZn`@P#S%1pU3+e+@DgP^Y{3gx$J(+h4h zY1Fk5?mbvBK7Bq1ZcFDM3O4f$8iAYBln)J5ac6lA*w-!5*g zvq}0I!#{klr(Zh%@d&99k#(WxA<--rr>HT3gg#QY#5lVUjb^XD6W1#P^)J{~Z5gh6 zxp@2e4MiHKyk3VLyoPpcr`N3Qd;Pj&Z(El|I~3=90#`KoEy3O|OBRdIet!80TspJI z`8`=aTdpo(Gw>+OcP^=PPv&^(^stvyP_iY9L-EJ@UL=3tmS4;34`Zv1lj{pjMy2#* z1YIWAx$nPKPhAj$|bN4~9BLJ!PSE)>p7g#>R2t56|yjC^-S9v>aUspb5Ltj~GM96=b2qoY(V z8nf<2ahU{Z`p0!GKfe6By&?&UR(=XPh zZCNo~AJol zrKGRC8M8O{_NE&fYw$SQ9DN3-2(!;W@NbnV0|Gg=)2M2dU zp!kcz9M=igUEb62NUdzOxwi=4310USAb4{qY83BO!*sai5&}S(M5?Bk+y>J0u!4G-uu5?{#SK^vG&(9$U%12y z4#jsiiO)fw;1e+Igy%kP zfB)^!gP417JwzG1J+mT#x2H~>>r#b;xr%mSZnV%Xa65@AFlPvS@i&}-vH}{W@Yyqv zDxAj$RDRy8k7W*jjQVdSygvGdnk04pAp905zpl{dJYSSfoGRmXP67pPH+^BESxJ*y zafmups$;5T6!~!+iX?Bm=8|-Hv7^=YEH9j}xi>h6Gc!56Y+Wz}c?N8qb6sduj>5iC z$vv9(eL6vnInRN6Z!bQI7e1MHJi(|oOiUv>W@Z?{o-b@)84_oD#y@p_{8YAg@2hZE zDCt63Wo2Y$rt}r>KO#qj{u}pyL)Li95H|PI5MnuEM*%D5qDVud-&B9-rhfoep)N7& zRHpyQr0{nP^FU4LX)}kx8E3Ys$C>|0@AkMv7J7ci2S|bx@>(ZS(L%~RS2J9Cy!JrO z|35zSDMQvrC3y0pd04vj&%;5i3+Y z0qMsY^NsG$#wT;eCx_rhvwB?F%r)~Qb*_RW6#cx9#HpQTp^-;V<&O@sOLSpJ3dJZX^s9auoePyp6LQKlau7|lvz`1q{Q3fk> zD(SUq_j;yfN53Vzw?bIjR-MQ4s3q{ytO6fZk2AM!_EH&xqb|462(I>UphEi@Pc?(z zomYP1(@LU7x&HTxo?NZuTm)hORKh4htvauF?ITljf+LK)$1X{W?-DT`T(N4<`B>J)21@Z_9|7*J6JbMAmBh_@6&@*<6h}) z6XyNaNn?-WmC2OjKK}z!9RLCdlz33dx%_=M1p01hE4`@TKMtld_W;AMWJ}1xSmKTV zO&=!K(r0y|8{7RvC%{1*tg^Jv&Ar~0!u5HJF4}i}fV^s1^NSBl7??;lGS}PE9?@bC8 zm*Tp*DP#9PiWLZLE|K#0@PsI+hqx?ge_1CltFDf$XzcJ^(hZk}{9*G6KNe)A! zg!GX}3vB)m@N9~zoqWl(ldtM1;RKjQZB9FZv*jinsDus0+TAmv?Y+GkhOt$fJZoDe zD6!Sb*BUJx`zQIYucLaFt(^uyk00Vt6TP#eBKdD|cI)-Y@N4fs#z&FxGmoXWQ;iRx%2|@}8}$BF>5bXDGoJ3zW*bq+Tck6WsYO*% zgpyD4zUFg`KBka&vb*LmUOUtaA_Z&}JU5LPf5a$kzSn+yDdCczgpfg2dU_$a|Fc1! z8^|`AiU}MVxGt1z`s56imYt8Z_09&-!UmuUzxy4pkRl@^w^P#XW}k>o5Va)a4BN2x zX*{uCoq@n-3z@%nWEf7@)=w@Ux04!w^V{O~@t6jy(Za+nDjJh0l(9_vs5&X54%Hf8 zO(sQ&{3z4^7_*|gE2a2@`MZaC8Sd{_l-d8RLy;}v40=x9qlSTq9N47Sy8&~J_1Se* z^h6~$`_TwKyb4jwr&YtYmdZ*ms;jROwdGH?8n)8&1ukv+-=|pL?LSE0Y>wWmA0yE| zOvob^FcgnnUA+Rn3O)Wu`GP)hPgtKqR`p4-UyC42=je(PHQMWna)zv_p>?R8a3~a3 zsZRU~&c5S0SE&@@c5ss?ITg)-OE?hP)fhh4efReV?DQsv?5r%--2VoY@dm6;^jM+t z19JPIYP(6IkVnf?K0oR8lMOcV1<4!TWpu_q&O@1YPzp3#MR}@tIIu{rrgmPR-}Pt` zDsRg>|FdDD1Sg=sUj-)Yh!3xwXvCe4eCrfR6D?8qPtOya%i<{BhjAb#N(j7W3?%%|4-t7oERGIF5uFCh{q+sS&nDeJF-)bv=L2L6vCi2qi$-`Uk z553Iiil}@4 zv)^Q<`=u1z?}IXFRyG-vn9nklW~!3v>o@#iK7M;@b^^BQ zCJR8(asO}%8{Mqqg|@uiwL}f|tc6XJ>n{P$`B^?NT{^hq!|`SxO;zwL zEw5XuimqfFV_m!#{y(t^q1=CEa|Uj+c9Kx{KOCv+W9mTvKq7@q{=9s;lbM1^ljza1 zh%yDlEsHP!<}*ehyDX|MM2JgU2~rg6YIcfSv%US1WtmD40PUl-DC4b6Y^?B>K?V@8Vav6-XBU@OfDg;WG_<~_P{}zWOqUcJNjmoU1=2HX+wt&2 z%jA;V!v69yn_ls6dPd~%GUfQHNZ=s~Z@beuWNr?hUtl16^fF5f^8y6L&mh>$`9FNP zrCeHL2cSFrR7e<{wYKN3QaXAwTNJXu)cO#nzUOL4Ue(PyRbMMQtTXxLil5;iJmvgt z8LOBCK3iwo=ZINS{M@qGTe;*qH3!W`+Zi^4$2+^I_s>koOw_4w47z~lXx2iqP0AUBv|^=bVUP!QM5=PZ2)Fp zU~C5_O#Y&b_w-i4#8N+F+oj|l!cNtM-kkGiI-k?T@gJ1)m~Ax~;?LSz#OkX3MUwL> z*}TsN@LZ#x%x<@LwQX?NC`_KLGJj4^PVU;;!i9CjYgsX`>-~l~R41CvF!yVYJU9^O zt&mrz{Gfkf8^i4o#H|r z!AY-!xmTD{!^3WZg+|y<l^yth7$UVCsU9j);J4QW9%XeE%+ z*tfJ4y1RW)hM%H^nvI6CxMhn)9>!})9{j$!)$i!1&t}=4{AwZNt*sZqsk+#z=ft5Q zQNoR&#EbP4w-DcEMm%QhB;_y;H6XJw_zR|5w{Qc7tgW$&560uKzVVedz8mk==gWN} z9hFGw%*Y<-FTD ztGmTvvni_T5zhgm&twkbS2s)%W16p?Vb+tb=Z)$GqtQhennd&;r|*vlf~6zaYLK}W zr8VY7)wd`LYYXjcB6BF#qz_7R>2Bd>p0Sn7c43?=3 ze?ycBga)1M=)337-Vwr$1^<%;7n#FKnL`;IlgUk{$<0}8HuUIzhFAkz&MD zCpVB!`6A@071|c+HxuVBqjGP@#@@6z5R*sC7vP*YHZx=PJ5#%| z43jfCDI_5=cCX;8iiwkx^sN;LQE6^$Z(4RX*HfkWQ+E?o$0^$49G{@Q-_Y-M%f(uN`jz2T$Oq4iW2oQT5`E z+vkCS7(zNL_sJpX!Y-gha1*9@xKkEj(E-QG&=;YA(#SQfw=F?8hPzB6>6+1Pg-i~^pQ`t9_Mp02hW9}BLp z{rYZSt*6j1ApnpUinW&M4b(je=Y(jb~0A3L9@R|NCD3NCM&J=h=UY#VLsi$jye4)Rh9RVWdgqjCEj;h3rB!$N#a5s=%Jz85a`noZR6by zO2X(F)jBPmK3@Mk`1)yYsz}I z2lh_L!C@&+^zyb80p*LotWc+j&KZS; zqxdgtr`@*c{lU*|f^?D$@5#3%c3)i2Gcob}-oAbkx~o!oCDe89e=lDv_SG)`J{iK;H0k{%eIHr%-K_C`x7ddT>qZCo%4{26aS2WCB(kU&t0jp15qtcrG1Rwa zd~5qW3=@t9Gzu(|m9Dp)BO`heF+8eRf~IMs4gvfhm2JM!|zz z4aHkzcLZMbf!C(CPn#0_MnpwZNJaA!eTszL+BkkCA;J9T<)x*SI7g^Zbl;2dw+47+L@Hpj) z)l36%(K{+)CUbLqGP2LvU@R%q2}t7lr30T|)%=nA$qHuW^rZ5w`?PZg$PuS(`D9B0 zd0Y}a+`y@7rKSfo=XZ40#b|_#Am51NJ5hGk+qVyw{`>)Ipm)-<`a2}(B#z~ z2a)qDUTioXq|6a)?6kwRIkHOmt{e%(HHCc9Xd3H&$w2~Hv4z=Eiz*yeyoekpgcGCp zc)>>V6IrPP#iQoSF%&6BJD-2Mvnx`1c}ob1E47NT(iv=ASOtYyj17vml0On}TEK7= zf~|vG2974J9=0j5z^fGGoB2YrV7aTHwd0q+K)W;J&*7U7ndn6ytgkYu5oO~MHKx!k z*2m~7+w&@`)QtYTJNV11jpwIiE_KPuEvflTiIWAMc4F3BvIc|O-n}D#?$I?mJ>OYs z#lyOill3K)CKs;a@xcQXE&K0@65$Qsz5a=WmIL7=^BccFi?_-^;9-(dC~c%dt`_g7 zP47H7`aksUe9o&Na9t zadaaT)W>NJXEro&QZw!la$c%@*L-7uRgrQbqvJznH%<72$)gC$!{nEk@2N`{U++4I zwy&)T^Y_X5pR!1;R#lEjtksUVF^1ujK5KSImbG>x)WG#WWW)C3$5st}4;^B7t4$_z zjo#aGYA8tNQ-o`Mu%|MN<=dXW_U-U+0iBkoiFlJJJ1pEe%lphQ_;E|QdrAJKww-F; z%N_|A$lBJUpmB;{N1nuS`u@UW|56x41#j z_w;2y?c&u}KGxGTIzFFW8Sj_d>zCV0P!zsnX~&x)Mm9TZlwDLR_-KqhJ#bmIvEQBS z^-Mh4V7V-uzKRDFYo)sUN|5&su6?%IYHHyAuE9@REua17Y66ol7g$~oRa*6nJpiuD z)Ju*R?=+k{XT>>Q{G-ym@*GueABG!{^M38F&<4*{PIH3}2Q+;JzjxCVW6bQ!sco&g z)00D|xun-Ph|j4v!_yu9?W}2ywkn4+(izn^Y)cMZM6Y z$ocGu2(3U_%duOTQr<>S1~Lxxct$5vEI(OgC#A*Iq?)z=i z5?@k+M-oa|-*A|i#P?{m<@BWCK2uMe;b;=Qd7{w0;C20Yjx|SMDheo4QY%cybKpm0 zY?NRxwsZ7nE7s;$QUAiWt-z~c zSUxnj?O<=xyCjQ@ISNgoV=pMXiYr9W%h`~w0><)?OXu3 zzdzKgoF6rf-~Fe64u8-UgrEQ3gytF-_AP7sm6voI`7#!5^k(bM^w;KQv41mNVO_3L zayaXC$qyDEaL&G*vkq_BWd5!x#O*m9y08IE{h~Q%B_6YK(XUI?w1U#~eaTGG&CShL zqgUwDt0)V*C9XVk8YdNwB01T5B@_1Aa5OpsnL%MjCExxLH{sIy>i2Rc5DX?5JtngE zT+35QZ-45tFp%C(gr0ABPmJ?j?dkY*|L-2@n7N&y8jaP7wf+3goPse$i9lt!AEz}@-`=&F316JBJ#*71qGh-w1VLriW_&@S(cGkLwZu@ zs{b`m!Dp0G@g-_(jf@b|rkWqD;D`GR-a4qLY$EBHFFwi@=Rmx)jIg*7bC-=arpxN* z8w(E)qP<_YN^KG<|`{5BX`&?t%|)-xQ|dMy@0G1~V? z~FZRd^k9UgiyNckuBt`yoQE<%f!hQUL_vJ!RmRUc2P@;&CumxswZl$pF1 zx6H}Kt%u^`-+e?pkSxiryory>6JblDn|bS*#RJzELJe7sY(^tue*O?-577(Y(#1FH zTdgUz5#8J!8=Z=O_{%r}aS0}f^BMY`efl)3j@L9(xnpZ6%5MKiSlPeH)BDFpP9E8m zJ)a?FIOTJ(-=hA(?RV7XSQ7!g=&=dGP@ot=;mXbg=L1MsN!3fgKwI zedylIR$pl=>T%N*M62#MiF(ukFKyhUZS4Im@6WeRO!Od+59CCfFFntm zw%R1PQ)&IZ1;dKqvT~Gk7go7&SZnd=sp~LjO>BAo&5#sH3LsiP1xcY6(sgFDmMOM} z$=}7ioPMVRhh&`>dz}aTcbzK-VxuCAy~f6V?M5f4iZ9W!YBAN;mOQjTJ-0*=wKu?0 zz1s-6>+^V9}@6r@~Ugq~Y|8aiY zu8C5n=i+hwm=)7O{%v<9FWrwypzLEs<7iU{=c_Q=K@wBBlm|-0R)cGue5Kzx62!C! zZiy!{Wb4l94?hJ5p)$qzPM+L1i4hsdpiyCYq6}2$>G>cjIlgS(v{$?v?{1IY4OtkikPA(if^k0`cjrwoX%)wNck$`Xk_dN+~gWGCn^0jp5mEx9;#YG~B8+u~k zy(*G&+fn+0w1D2^9i6o^TU1mekU1rLouCyLHit)niqyLqRm;bwusCApX zcFHVKbgQd=M7vkiW6`qjd0+Kasc}Dmla7Ij33>ni{SjqOsy>Sw<-z1eZbxtdFsD zq=+)NReRCtkOW&!Oa;HoKp^_@$hXuha&}7BZcmI2$Oq(nBY(YHa{Ie-N$~nwd$_5t z>8Zi!!}Xq&d-v{>tBd+~#c>3~=p8h0kU%&rT$g9lIT&^ic2%qv|6Qmz)nX~mJ-)Dc zTHJG29!aq^D6FDapcRf@?%kRz)c9nfhl?=O8TyeLlJiGDa-Eb;V7KECDK-<%j)QRY zKa_Bua5ZlC-J3YqN>$`gJMF#if4VM{!>0W9g*rW3*@1IaYGrR}WL=4!^I9}s-fsS{ z0mc44e!VLCNZM;L)ZxjbTXwf3Do^S?Gj&ERKy^Y=kSJwW&QFpi90h|C2gF8Ap zUu$TeEGu>e`)I`Zig*@28B3<$cH@qi5l$Dqw-DD?J^)nSF-Zl zY^2_m{Ega2_9Ue+u1^*1O)GnpFCM*`oBc+|*8TWt!p4%dvzI_l`J}hskdym5Bw$P* zD&_vmav?T1C*@EX`$*mOTdww9E3Y9EnZr%8mw*Y@;FZUL{;=)JJ)*!>Vq~5TWyf{v zT#f8==eEsY3LB}(OQo2z_(vIv`^(EeB@SNvJe8i^6qP>s)VKNhrhnJRkJk}XfU_tF zykalcEwXIbF$iiZQ}^{(mFUG#(wv(IeM)s;b2q0fA3yZc6K%#Y)uwj5wimt z)YtCu$US-_{#pHt^mxw1kf^{LT7g>;nzLX)!x&Hk>^M7x83#pK`6y<$RX^ zi5M990ml(e=g=(cSMf=SK(WJ7C?Xfc4P6yE+EG?`76QZ2X2^+yhd3DvPVD z>1Bd;nDGduTrz~{Tp}_>%DXIEIa{rj$z5wZz|g5}jHT~}!Dt)&8`Ic-A@O`c7axuJzuqovGjOqE-EZrd^{hSo0TCTBuiTwO$oqj{c< zMqfp(CF=7B`x(&-rcoEW>G$XeLv^rCIngdde+as@HAkaBt;ac+Jw{Y|Wc2oXTv@j1 zId=QZ$JWbNentDH+lon-uw07mamJt)rsmWA2@p<(bStAWcVeX6LYZ-2&ceiwz&tBY z*nJH&qDgpzE848MP*J#8{}H}^{qiRZN`x#C*tHS1)~cVo<@hTk>`FZ|oa=Y%{vS6p<1EX^<2UB%~36Lw89x(%m85Af1N>>F#b35a|Y`Q|i08pYNSHe=y>V z?z8v4)>^+>+8^{*n3=We$(dBkFne%5Zom89j3g%35;L;JM=c^LiDEjoe-#~L-$CE6 zU8eWQ{BXBJ&(6u|Z}lazVCKc{(a``9dfNekz{^;v$c@+B{5NKtO=YHrtt5&J2|ZVA z9fH3nZE~uYA=o1|_q0plJ)}EhB*$$v1oFC%#~~|l5Et?RuriOgH~}AxiVyq{7(vjm@(@B+ z9gfRJs87WR(UfOeup*w*y+sndoPWt}{r7hh!E>InfhCufD3g(>{zNtJ_BApsmgO=H zMQaGbgwq$aaz~{XT$x;dwMhw zDSW}(=WzWl+~n2Zpj0$|L?ZKIeLyQESi{^{0kWJPU8qNIk-#Zj^|{379C5k5iz+idx6$3dgxU1j$O>n#;nK?qp| zTjSly-8N6N%>wB0R+oB8D<7Eatrv&UsGqKVBl68SwghZ7lNVivJav?z{Wz%fc-{zy z7wm9aVb=D(NmOq--7L|udLew>`yd#aPTOi#?NU=1*f832Ru>pKVs2Hse z7dsjm1nC^B8II!^R~_fmvaTn6B$nfVhehzUUZidIv0{GmI!`0#z-ntTKy}A%t9kf0 z*Ri@m`6$)c$)VAHS$AL&2otB7()YXRM7UZLe%O$O@bTDqqJehS1N_RVIj_)@MEnsY$*syK4n?jD z9l5E==Ac7@Lqd+jK5B<^TY5)>+~-pJrADLOD*avz*q#@-1wCND860pT=wSzey+PU^ z-AbC2lT6m4eOgHt>#gB-@(nyGzNpk0%SR)@al^xtE)rGpOw6&M`;Y0Wol$Z#c zn_mok0-b~PViNO69Qar*7J^!|SZ|IyMC1D35#$$e{NI3Pz8cO{!MDz&cQd?WwHWon z`+AMC@p?VN<hoyD z7Zm|?_1Jp%`*jACpq{b-;`Z$1qEase0PcMe$*TdBcO>KvgE>;P_zZ;TjRzHV*M}}0 zXcKt@T_6NW%ySK6uHG3ZJxpV4`0=*Ghqy_b7=VeLA@7`CgJaPyf5x0NI1I!{qd)x< zq-4L4I?uk`g4jL*OiWBU&o_msOB#b!%+G^Fk+y0yY9ITb&#ld>Ne-CDQ^iXUy?Bvy z&}>7ch}RG7rtD9T8tNs3pFYu;GPFd+tVz2NETWu)P^Ct`pZU?YG;43>S*UQHvefFP zJho%ZxrJjP-ShG-Zm*z0{z;=+a8LaU^(5e1DbKzWziq&;B-k#TJSSzhi%O!!*U|7igZ8rFA&ZCM!LMXKlLHk#Ax-$uQZsGl@5cXwxa z0>+}cZQdN zDLWaCx_q~-SIYthi?h8$HO%&%BN{}1v>FcKfEKd3Y7~j&4y&T|^ejga$(2I!bCwq? zIFM{Fv)Be9%0hfOTv#AV>bN_N z22x6%_4ApD-itXOO5ju=#}7kgR1{bLHu-qGPa?AP4NF(Qlm~w%?&te*II2Ha zVHKe0JRvl(df1YcS{3E_j)mhxcVDLkX*OBJ=W1W-r*BzE=9?N3`GB8^M(=;~7Akcd z?Fi%35R$ISmXdlJY!0H>k5>bH$`%@2Pr6VeE7H37Uv}~3AChVNswakbv5bgvwb}~I zwR+#z?j9a?0oRvM>+RBGU|y6aK&AXZH_;`0KZEkL(eOFg238rp@yoIj&C#6uvijsq zWxyi?VdZXnuG)S>)}RSYGC0ByCv0|85=UPY1nr3^NmITeVGtY4!e&kmT^O@NU~yopPsYSfBESs6-aPdj#n9-lU-2PTf2q#B-{2XvqP>2I4WxLm>Ut#aK6ruxrT?^e00;=;u*cn|F^6(#b!UZmmZ=;(-!b_L|@~ zqRyOUZ-Y!hq^n>Q*k-b!NLaTg^!E0TBOUWdxw$|x)5hXTJBsklP=NIkcOhwIzRj;YD8X@0Ez{cq=*m&3$V*e$1!R;~L$%foYX(7=0MM%FQhcpRB!B^nBci{X0^rlCtPn|ygV0s2ge5ON2znd-4mk}Ly2o}XIv z2Y@h7=)Qt0r6#%MEe06{MfZ`ni>&K7ILf=BYF>CJuKoxavtjP!$E`U@Y{Fy+2#&5g ziyM(!>3U+NC(FhI&VR%8BkfnxVVBoSF2VtTHTXQZ#b~|M;MrbElIfxANFw-jIpkHL z5^&&$6gmo@yA#U8zwb~@qo|^zDE|e4F>-i|lZ6o7fi+qA?4~toV&?*|r?+QWluX~g z{CeKS59a5|3k%i))A-H(TUZsr1v46sqr(0vGzeui2tL6VP0Zg8LQ4jJ+)JRAQ(Ie` zqc15*50Ee8ot%(|UEm5`1_;aUUQreraE_-U5N5ndDU{%MSpX0rUZ%%d&=Gi4lkIEWc zh`HrG@C_hE4^ruT=UN^Luj{RQxJoIeB02s5(@8o{TO=sbB(4uPzdYlQ+~;1!e)drQ z>L(C|u~?tO5MIs@zM!Zdp4?_Og%4y0Xd6jxO9$h8Wcj7PMfmhCX;CxSr*^5{Sn0mAc5t+9JFFX^(FK*>fym2nfcjeJiBonnXn&G^ph1j0w=u$(ZN|0LRVkS zOlGfxdBLWQcdnFRa`Rjd8`uP}X#x0ZAtIlQZPMtfnd7Z~eXph?l%lfWerd)?@p1Kf zLv0;2gAHr*uFUFHkQ(M_rn~dY%b$PrYBpEV4*u?yWWM40?zkQm$aUcKxBZoDQayuO z+qT(lpCMkK;cHAaJ|epG0e!F`l)m3)fiv9W&un; zKSMA*twM4io)H9QVIeZjIfnu29TjfZLlv)weYa4at!jB$#@;#dH`-y zK3>{BM)}+gT!Dq#zfrJp<8f827I}2$>iBmsSM^7MlgqVURsONE+^x}Lj`O5%^qYsG z*8SI{=g&vYyqfFyH1TT2Rw+oN0w}-?|<* z@mO7FzBqF8dL>n4l)_ty@_3U)vhnRmu$sX8x@tRfL&djjOUn0&xeZGz4C(5s@2-;T*^Nm`km8_~8I;^l}5ahwks~H4(#WZ+1;h@&}kJT`r-knXHqEIx( zKh-w|BY>{(J2~~@MQ~3j^Hap%Xr=z~(YV+`K}ODIfU>cRqOPCteWX?LoXUOWd2?!X z9Ztl=Ux1%SILh^67RYpyOg^A$x+&aHd(rPad$a6<0I4;_`hMYa4lp0?EXO8hcX#(+ z`~Fwc{~jDET!q|BhPUu>1jiuymw(>dVWU9Knq}bGUh9@8bDd?N3)h{(!pWNJa8|4< zOHKb4%$ywSYCBC0@m>Aix}L41==oLmvCBFAfmu@|jClm?uNl3S$6G$Ud;j!u-?IIW zgnX8($S?^gsfX!hEblfc>=%$aQY)#HDEVv0zg2( zx@B0CwgMY*gl2)#6lTw))#6X`f%H+In~{z#wRVTsO0T~OM9Bt+I7$_5fM+yzh&38j z0q#9&r@lW%H@|*bVK=|X>$MtY0g=DPnH=mgrSPh?Xxn-Zr?mC9E7;efbCZ+UPf$dE z+vk=qP_cFEm3AVqtbv|c&pR^Dycr{gaEH7=>2;(@iWJwx*pEnY8jZ82xRJ0SoJ2@BNMlTL-4FkNU8zc|7gUUhP@ozRyy~BGk(7AVm z^`-b)f)cBP3L4@q$rD=^NIIXUN+U(3fRq)W*q`CJjsZ1jpMLw1(J+k;sHZfOh@$Yo z^|o+$Tsn|@R?)+ZYhRHDe;pt1r9~>?N8l=P9qcU#Kryq|C3%=&A|I26KDVfPrv_ztZ?~W?ZJ;Isl>0N+ zv-Ie$F0G&3_ZYq9=Y<7S-fHeg>o z4Q;P>MCfr#?xf!WaJHsQF*4l7k9}*04pmQnCPAhkP6g=3s;fDyot(I~BcRn(cUjhp zu!H6rld&ig^qTX!%6mA<+xhfZnLUWFb_Hfn)zo6TXdb=1GyJF<6<^S;zD5!zq^68- zR+_U*GC9AU0Kk0x+BfVrE4D$q_NNqg}Ntwu#KaqgxP%0_z z1xZq)V=+ivXDMS`9^*L-RKT}UV&o|K+PYF57v%ycB_GTCJAFxhHYio=YhX9G#49GW zHJq+OEJDOhgB*_r!B>1-d^X#Ti<-#98vN~yP<(j3vi{(%n5zhJ` zR`RP_k~t}qe20{RqNYhNomTZmHQeD?MwH)Zq3s54-03|w9YS}%!rdflBO z^sFs^w1IBTzHzTG#u`TzKyH@&N? ztIFv-)^8V_mxfSIiRGSuie+5qmk6lxuD1^PS(9V}nwR`e&7WNIL&6k);xT(-z}=3U z*r@{rV(09p(SVdg)a*Bx{FpuYtg}vE{Z21rwWO$iwPwUS5M+8>c=m<&AwuM4M0vD6 zsHx@lx4^!{{o2(rNlSufs+FtxefyOZdv^=Vn* zFjql1iK(ZXtuwdA7ey@{mo^slX@)BYra438ySwROW~Me){e|TBep{|ChTJRdk1dA3 z+P|==K;P?S(Q5+wh1`9Y>f!GSGKep!Tu;)X7$}tgI$n4J#>=*QB(Z+dH43n-*A5ZM0#$VSg zaDqf>y^U^+=mGv6W&|KO9AW2C71h%tQzmtge;#R{>Zm^D_16_9X|MA^Xswh{^%G;z z0LutnEP1)SU}@{^JD#L4!H)Fj+dr~eE$0+Q(|LWm-~EhcIuN?flb2K1umr>lO{_1_ z^hIfT0GPx3P#yoZB+a^toyONSxaU2OZlbF94|~rp<&KUNKhd6_=f^6v3~q(1S7qa5 z-Hd7-uSW>j&&cDfef0VD+b*h5qi^+ShL=1adNM~48X#C0NBjOiVW{0IRqvDjA%z;` z&R)$xl`$JO>~OC�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 z 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

3ct_f5Ult<;%jpNt~ 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

kVPT2x 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%0AcqY@Z* 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⪙~;TF04#c{rR0+kD@@ZhX=#Xn4a2T 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
y`7$37C(>uWahzmr9 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
MRBz{j&=u$Mf@*~A6 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 diff --git a/doc/install-guide/figures/NOVA_ARCH.svg b/doc/install-guide/figures/NOVA_ARCH.svg deleted file mode 100644 index 74e22cb349..0000000000 --- a/doc/install-guide/figures/NOVA_ARCH.svg +++ /dev/null @@ -1,5907 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - AMQP - Messaging server - z - - - nova-api - (Public API server) - - - - nova-api - (Public API server) - - - - - - - - - - - Internet - - - - Cloud users - Using tools to managevirtual guests - - - - - - - - - - - - - - - Admin network - - - - Internet EndUsers - Using services providedby virtual guests - - - - - - - - - - - - Publicnetwork - - - - - - - - - Disk Images - for Virtual Guests - - - - - - - - - Virtual Guests - Runing in the cloud - - - - nova-compute - (uses libvirt or XenAPI to manage guests) - - - - User authorization - (SQL, LDAP or fake LDAP using ReDIS) - s - - - - - - - - - - nova-network - manages cloud networks, vlans and bridges - - - - - - - cinder - disk images for v. guests(filesystem or AoE) - - - - - - - nova-objectstore - (implements S3-like apiUsing Files or (later) Swift - - - - - nova-scheduler - Plans where to place new guests - - - - - diff --git a/doc/install-guide/figures/NOVA_install_arch.png b/doc/install-guide/figures/NOVA_install_arch.png deleted file mode 100644 index c7318156fb5052a44f32c43666ae69be00be247d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64438 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - David Pravec <alekibango@danix.org> - - - - - released under terms of Apache License - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Networ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ROUTERIP: 192.168.12.10 - SWITCHIP: 192.168.12.10 - KVM SWITCHIP: 192.168.12.10 - VPN-GWIP: 192.168.12.10 - BALANCERIP: 192.168.12.10 - FIREWALLIP: 192.168.12.10 - CARP (virtual IP)IP: 192.168.12.10 - CABLE connectionIP: 192.168.12.10 - rfIBER connectionIP: 192.168.12.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WEB SERVERIP: 192.168.12.10 - DB SERVERIP: 192.168.12.10 - MAIL SERVERIP: 192.168.12.10 - FTP SERVERIP: 192.168.12.10 - DOC SERVER (storage)IP: 192.168.12.10 - VIRTUAL SERVERIP: 192.168.12.10 - MONITOR SERVERIP: 192.168.12.10 - SPAREIP: 192.168.12.10 - APP SERVERIP: 192.168.12.10 - DW SERVERIP: 192.168.12.10 - SMS OPERATOREIP: 192.168.12.10 - INFO CLIENTEIP: 192.168.12.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - P gina-1 - - - Hoja.14 - - - - Hoja.2 - - Box - - - - - - - Box.3 - - - - - - - Hoja.4 - - - - Hoja.5 - - - - Box.6 - - - - - - - Hoja.7 - - - - Hoja.8 - - - - Box.9 - - - - - - - Box.10 - - - - - - - Box.11 - - - - - - - Hoja.12 - - - - Hoja.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OpenStack Compute services Database server on second node - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Internet - - Cloud of 2-4 virtual servers in one clusterSelf-contained storage of virtual images - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router Private Switch Public Switch - - diff --git a/doc/install-guide/figures/basic-architecture-networking.svg b/doc/install-guide/figures/basic-architecture-networking.svg deleted file mode 100644 index fb0cb6d6dc..0000000000 --- a/doc/install-guide/figures/basic-architecture-networking.svg +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - 192.168.0.10 - 192.168.0.11 - 10.0.0.10 - 10.0.0.11 - cloudcontroller - computenode - compute1 - controller - - diff --git a/doc/install-guide/figures/basic-architecture.svg b/doc/install-guide/figures/basic-architecture.svg deleted file mode 100644 index 95405c1641..0000000000 --- a/doc/install-guide/figures/basic-architecture.svg +++ /dev/null @@ -1,1128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - Controller - - keystone - - glance-api - - - nova-api - - - nova-novncproxy - - - nova-scheduler - - MySQL - - QPid/RabbitMQ - - - - - - - - - - - - - - - - - - - - - - - - Internal Network - - - - - - - - - - - - - - - - - - - - - - - - External Network - - - Cloud Nodes - - nova-compute - - kvm - - - vm - - - - vm - - - - vm - - - - - nova-cert - glance-registry - nova-consoleauth - - - nova-network - - diff --git a/doc/install-guide/figures/debconf-screenshots/api-endpoint_1_register_endpoint.png b/doc/install-guide/figures/debconf-screenshots/api-endpoint_1_register_endpoint.png deleted file mode 100644 index 2ddbe6fde858c3c30c8f90cefe6e72d9e1b4ac1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28167 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 acF+>;GLj#;62t0$HtqX*8YOCvp8prMakni1 diff --git a/doc/install-guide/figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png b/doc/install-guide/figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png deleted file mode 100644 index 755b6c2d333ad231136f5a5c6438e442a1448734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12888 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 diff --git a/doc/install-guide/figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png b/doc/install-guide/figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png deleted file mode 100644 index 715d402821f9e6c54dbf47ca873e2ff20376d37c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10598 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 UynpKzvjRXz)8HZQ!P7VY1Bwu~I{*Lx diff --git a/doc/install-guide/figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png b/doc/install-guide/figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png deleted file mode 100644 index 28526dea9344dc77f7486bb7204d9f5a36dbee9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20451 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
    XZdvN4@y8&B;-Yc$!R2 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 diff --git a/doc/install-guide/figures/debconf-screenshots/api-endpoint_5_region_name.png b/doc/install-guide/figures/debconf-screenshots/api-endpoint_5_region_name.png deleted file mode 100644 index bdcd1b09b8b379cdb1598beb3f3d0419a9af70bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16916 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

    7;=B#z1_p}D#qi=PcXfg^ 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 diff --git a/doc/install-guide/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png b/doc/install-guide/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png deleted file mode 100644 index fc3faf328628152e8f1ccb175714a2354bc25696..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44661 zcmbq)bx>Phw>DLZw@`{hX_4X$6t@swU<2WS({LKSurehVssP~6f6nxuZk!rkD(|ikM>?XM~)QO zuZAN(o*PPueMNcr^OMO6w90_v z97qfO<-q)P_tZ2&5~Zd7Nc)uZb6&oKyIJw|{KiIM*NCJ{P=~mpB#)XcjpLmcra?bg zj0ZeIjy;9r(A}#L99xEMg=IbOklwB&W9t1gW6?XOwk}&!1GN}rpIaJR_tQt|bjfk6 z=rFUtK2@?TPZXbX@A=%iVF5KaU7D1d;k-9ZWG<Z_38^7z>WuLniQ4?(?JN@IZ_=#A5QR zp&NHz+=%E1yTFAG%)*T@^pF?LLxK;YFEipgAKKKv7w?udsPBF+HFi8+X>~s`dKlnV zwiA5hS#efVekAE3M78R(-`a9JTmi_#%XJdp^07|I_3?Bu9fN}NGAC>5%{@dv2Xq2He-YC^FO@$nfiyyIn zwmth?y>eIY{>p<@vlVDEDgz3Gm;ER-E}^;ElpE4+NOk0l9p`n+s-DPH*tb|Pc0+}_rjd_%9dEe z`)(U{M(f>4-|jI-GrgYp67RBVv_hMteT4Wvd*8w-?@YO7EA*hIZd|Wky;^EX!^$0=>{R@a}*~Yvg4t|bOyjE8+QW8ky0`UB&?AS zKN+p%f6o+8S0ekkUKO>u)MVZ4_SdLP#%Bs4t84k0X=1D4G_z?MpE{OX=r8;y<~qwy zqwTi6$MwC%syi- zAhbVY8EjC!r&?*~JQz*@JjNCwZ5 zWA4%G?xBMQ>Y!klT`~Js>p`UgQ6mw4Z&dqzSC3ZI?o$D>7oYEvKHkXPC!Wfxeg)@$ z+q|OoX-*Uu^?Hr=`w+C+6Hbs*?edOBATVT(>i%k3^unC$1B6>8PZ1_$ z{&Hc+ZH2fxksA`Qtx@hWkB;KS=}e?>v!`rJ941?43MntCInW@2(6DoJA3nwZ;r*J7 zlO+(Cv&b-sLK7R^aAh2s*3dc14IV$7OQc}2TI}mTJ~bYGYu&$U>Bh%AXpOE07NjBlrvYEzp_Rq%?4tml_rr@Ptb!vlo%N~*K4gT>{m_;jiM>az4l>7UAu zgxxtwtf!NfB4oGE*L<%oJesnbUONv#BlJdKthDV-wQj|wI;whZ>e0X8D4=Ef)##>h zBdxkuQL%whf$3N_i%4nh5z;}5yN@wYN#ek5NlLrcH7JJ;%lOM9uV)DEpY_~mPtEYfuk zvqw8Ib>kOfWy8JlK4zA#W9CCBGgY&W_^e=Bt%{!wJC1KIr<`!RqQ~R6y%H5W^J-|2I5@oKz z?bS=4w82-h%IBwRG7(rw2I;c=Nh;1d8M^EKiS!9$tY{O z!Sq^*I&Y|M;cy|{eWX)}kZwJwd!yMV?P}UG>p#Fj1Gj;6jt`#J989PAu*4b6)Q_86 zU!cr+dMI)W1YwxTWnUJHKcjH05qh~D*58p+nN$%@3g4rd$6Y2l3bAdDc2%L z-)qw4%)5pnP=}ZJDYxU=IhyqygF;pWs_tmI>5Yq8s`Yso*u0km|3#gG^sznaF?M|Q@ z-`x|m#oE}0Fdg@7*&d;N#VNqCe%X6^%CxDg5be{JG9P>r%zj^hA>3Xdc_A2kIitU+ zf37C5#@Md$4KjV1*J`%3ww}V_BP*)%4nDkJC^%ghk)fZKo}S*bIVFXp{osno*Z1Kr z%JuU3pFqE9jn>>f3`;mIUk6h=as?V9G{^9(&wG`*v&ui%r1DfI}oF!HD5k%#fub>JKO4gUv-JK zc3#Kw!d5YA5)gfGQkf$Hm8H^STa#ryZn=3Qp{i1N_q9 z8~m+oDPZ5K;-jO!yJmXo=*?N$ul>1NSHUS&W-d1s=%9#Em2<^l5=FwxrIuIZ$)&8Q zg1+IdoaDlJu6YItvqX?;8aa;HDyKE~yOy-X2WL_-j!{~6>Swh;ycHji`LZWhnPubT zL4TLEwn6uB|8{x$aBH^p*6NqbVves52z(3|9q?gM!daRpR({xArcl9SPvOUC01a0Z z`dacAkCk}9HID8>v!K_*Taw5?v8AmBaLuOpRN%c&a0RUZYm=VxSUKVw1H$~9HDhf8zq(qZrDc+LH~ly-4w z^SH3&qvv?)>`Yoi*SN6UBr{Vb;BE7iH#_a5P?@Zx50+bEQ>j3ECLQ9P<=mJ65PV2^ zF@k7%&EPr9cPoUq)pK1!(s1vJ>DUI(6S-hD&yhXtn0?5^v80+cq$GE^#Ua)I{oT(r zl>4)?@@vQK5%yc^aiLhpMlFJDD)&{QsUHbKtrAT>KRE^F!*#ZNp3Y*9IGX&5QJD$7 z8w64f)TQ_x>qr=ku!`YLqU}wf;-r+aYNou!9cApH+{EXr(TDJtmz=O@1S z1qpJS-&)92n$NrXd5-nA2P;}q)Kt^>_S*WlWwtZy(ImG_^WCNQE)%`XsD<~xnocN? zYV*XnTP?0rJalgL8z>iPqQ%lPyy0o44dK7%Q2BuxjjjB`n+!ODj{L=xAmwt3Q>{(! zS;(X0#9?_`DFyZNymA>zw^Di3imqL9X$afaH8tU|TamU@e2P&AM)}sEpB*nMqNV34 z%j=n`W+pNX23WBR@~^$5uWkE%-IRG57m<@{DZoi++Y8Re?T4zZo@`15l2_=~ht3O@ z)LnW(*|pZ)`^5UXeBIbtd<;}US#&+#n$QbYNU#~glT#5cQ0+he z&@H?N8x=G=(^48rXQ|MrHihRfar;Vqs(7lSIuhvi{gbAaM{UJ-8ukc4#qhhyYYBQ4 zcz-Rr`|VOooUWgwswI!ww{?B+A-)QXRSgUOLxI}l(r~h4e^qYgsO(Ne5Cc{B*Po`v zA*y-reoGGKIlad(n{uky9%#!YtiH*kGNTqEqBHBr9jHytNQCb5UT_d?R4*#Fn~;6X zbL5thlCSquZt{5LEXj!GE=ZGVcb#}b_&YLjQfi0u$hT3zObbCTPaDO3sG24nihR?z zPt+k`7vh_lOM{YFHZ;I1F4Q>Gw@gQz5xdY~wQ8*AZvp%Jv?a4`Dz+3!{lVfP?%PM_ zoU^B8iipNn1XB6CBY2DT6d*JVjQ8B@yx8Sz3bj2-2iJqansVG@+hvbPH9hgufb5oK z_*tXR9(}Wby-{v*xNLDKHzr+1EP%Q9ui@w2?+LLUl0f5yeXc{vHf+=k;GTX zx$;$!WQP!q0k$I7{HJ=YL3R75n zM zZWkC1LeBw&R+yE4HcGp&VH$aK^yz~ALGQc$26&BJ-M3|?p>|o zpM3PX`c_KDUukdYhZMD6t&3Y%R#@iPEQ$ML*x>0*L&M^Fv0Aj(A?M2c355%L^9PG>>%;=*`GS}VX+k}g`Q(p57X6#Yg%Nbg=&;k75VQH=zi zZz^sv?whpdd!>mcRQJMj9TXoXJwF*d$Ghjjr;w!>#V^s1F*M}%VtTKp<(e*&r|qoe zF_hd>-mXHG(=*-?1~YpX+V_dBc(66%x_O^6z>ROJP&duqsF&4qgj7gKNWJz9!^_*d z8t*hU^g5YcZ+!0>YB61`(($*@S70qY7(B_9nqj$m#y1)No%Gnd-iuBZKV$nyr7uAE z72`c;dcNFrmgP^paf8|K4%;U85t}fp-A@%NAnc2@knk}502@05J=?o(L-PY?cHsjDKTh0;XA8f8Q0$Z~?6tYP!!9zs``R!h zu0C0OP6hx^t_Vw~c)XTK0r_A@*q(_j;+7UtuG!n;#`RK+QwhG0U*EpwZ#RH}zHq zL+5q3ZU>=E*tZUduw3Nk6sn86Pi7X7W+l--sjZ3QT;W z&2t!}mC(F!?ekfAk7R}e(i{aQC6JMuapF+>|cAoQ9= zsyu+e8UNnas5i1>em?0Qacf{=0%}DZ+1V3u+FF-)lYV}dC{2Smt`N-!F?yO7B$Gh? zCOg2G#&%=%QV@EryW9pFD^WSnyMF$Co>QRv9>%67OHMVt+H+$EH5?Mp6fV%^9v}?m zt_~bDi;Ru=8L-k%FuHem%A&?$^G&a8@6fpgG zk?}#Sb1Sw~_xuqmv#Da^zOl9)KZTEL+F7yDhz$_{^~w=;Y2Lah&s#%8|MsX)EcNad zSC(BjTT?vnT>_^G_}j%L1(Kr?l{9=zY=wI6azAB_$j;_jjz5R!GC#CN1vHpT^Uxk> zKRzv5CgBvi!h7ngdR_I?K2cCJCWn>G0of^?{Vnu*;&V@qcK}zs#q}gbSFk!;IHoP^>58gG$z_s-MK_W1+zxvxw^JgH zny>c-Ly?1?#qx-gY zNN~u=g5T`o%}+UtHnxlXvM2|@7h4tk-8}iG;r@C28j{h>^=8r7J@|n zx^|-|-VfJ_NX$V8$%W!ljizFpexz36D6+m~i$u}Fg73X%)@kX>Xt&kBoTq9bQELu{ z%>tEX-_KV=@z%R4V$xp+D;NcXa#+g!>{%)Jz#BV~4LJRP+0CZ60WYbC4yxkk9k(lC zeI}t{FY~T*Rfwvl2`d#zkd!82gyjTVZ7%UNE~&w|{iY@8BG6~tVg~mkW%rZWQWqj{ z6v<^@9m{C1Ci1G+ZP)WJUrI^-Lc{VO?lwEF?_%isP;i{_U$m+zP0qYje|O*?CO6;% zHPydpRiPNif2IadLH{9r#U1{kdjo!MYX2o@Ur3DnGwWqcDnW-I1V{2^K;`#AweqD& z&p%TddN*6<9m^aL`>+*==`r-eQKG-ZCrylu{)7#$piRfnxy@dmo=MY{x>JA1JN9Fq zV4ChdE zc65JG#Z$9JH{t>)htOCUwyxVZOfZAhf;Sa@6KlvrdTQ5e74I=AWmCiSLg{Wh^!!<N8vuiM{gNNKWyzePVuv51^N<)j;_gSs>%uA=}tJ@TdrW&r4Ga+-k zPKBB={ni~eBNaNMttZb%XOvGDs~nBz+{Ut{SV$ihyP|F*WAiUFXZNdjRA!lG8{Ccp z0X24;Lm9pqTcXO097lfVMEq&8?AqwSQ-8Jd#?{6VJae_hzLEE4;tITq^%7<@ElaN! zwGe;$5Pb3d*UO_nWVM>3%~H?91W4ffnA?ZW`V+bHan9eDAw$MXr4C;FwMim&FCF%( z_dK7w&p$pH<%~_djV0TFB#N3)c-m^;M@8cmY%K(X935S3?aEh8b9S_gvAYzegQ=k# zM0!0$(nO5hq!L|?wa0X}D?mM(4aBQdnO!Lp5~kfyvH9rJr>PneO+~Lf@VgN(q9Qnu zDJJm=ruG$OvK#@M+0e^~bdbf$CXr^no$xcWwDmS@k3Dx9XVQ@RoS@it#*J2cn0YI6 z3Cjdt)S8YR4MiK*o3gbLtikm891VPhw9}0OrH)>*GSP&z#3$!uSLoBls+4_$k$Aj< zCNnj1J12)J)GmtnGuw9ypmZnnil2ZX5}x=SK>?#XTG$TTI@23Cc?Zxx1KgP9=S&&7j`6eps=bNp7x8aq(Laq}X`+i1M)8A^U#&T6bTrey*?#RJEC0OMZzF+lIY zqhJ_|w>5GNmOfvB5pHkacbs$;x$L2C%v`9)y`Nf(Rywld`h3j3&%w>YZ)gV@RmdTm zcRuOv%OrOCz2Dn<7Ak-2U8*TQk6kV!cRSg~F6k|u6{PLI!i3HqbmxqWJ$|rit8CzB z;|svYxD=W^x;q=DzVX_WB3k^MUwRwW#)A55)9JBY+o9Pt305lumZnSYm%+&MTO(?g zHeTQt5CC;TS1{+x}F<{SB(+!Y+k) z&Y*_HJYJeCFOEr+YoRiIg!;YITH2528zwiQc?5=ym4ZLEDO8#(8XA>Jf@HeGwIfOf zFD)+S4+?2pB`C@(w8gxvIAi#ll#~nqPk5vT^Yy23t|^RQKz0KdicePHmc@N?EduncGh~%YU<$n zk|%)$Y-&d`U(Tqc>zkn$nYN|*_0w#H_U4?y;Qg!2h6b)`-_uZ6RXM#w!oCSkXw}1J z`&ZFG$L*7m$CvoVWhR5y=9qM+-KK<0s$!spc(uKTDyw_Gk>r6hL&|n@P4%TIVp?4+ zd*kio%TtTxS17ICFS3$zyzbZRrU>DsB1U|-Wv=RVwhZkQy#1l?QLhaS6Cx-$;ul(1 zlRn>Lx==KCT%I_*qnkDwpF?~BhjYeiwuoH`ShDM=M;!G;EDiRTPdFbKx zx==HVFcqH*UYBiLwB23pcDJ}jyYg(&(MPN)$gZjz)$7}V>-|yH^<{+$h233%*QYje zl-lRR28q*#ZFj3=FlBV z_DOL?q(b;9cWQCH7dD+&RZrASp%V4aC?*EGz=jv40u6Mh{Obbt!p6@<*$`gzZ`H zuYdq#qo=!5Y7&#&3MJz(o zA?Z|q^25jc(gIdw3tRGX1@Tk*9|RPl_#c?`AKdf@Cb^mS!~R(O{}}uWu>K9ELU2L* zQ7;=C8zuhT-p*Dkkj1}d(@iITMhiu84)&rO$NvK-US7GV9ta$b-GNVC2%!R7VtM+Hu=(I<_% zbq3uE@b^nONgVoB)sEO%t%fz564A1EqYeDUr*Zc0kkW<(i#SPR7L2A2`=li%_7$<2 z6>8>5`k{IFF+l6_C~HN52?hK*TDJgQqt#Z364g3RU#2{#OPSy(3nwNa_3oQL>-_*K z*KSRQ!UxqV-Xx|ncx*2vT5R52xW$*Zera4-!97GR3At-I8pok>E?HLy`!V! z&N!5K=2I>{np!{&&Kgglh2DQDck&qk>B})lKY#L|9kMY<#)&rCpaibZCh^{DR9umf z6LlbN#@04k4&C&M!n+C}s8F6g8^5vAmSw}=Ro^Q1m?%iccr-$+xIQt5@FYA;$6=K^ zX!)_U1NjYn%gGcJ=LARC11qAa3AlG87gS2hIa#J0z`eRMl7>8}Q7gv78EEsz6>hD> zIkUPsdhgYW-88b;h^~(<`AX`wq3uqw8jXwbTUXp>&8nN#`~{usu@HI}-9@z)T_9!n zeV&yR%U(ilPckN)tYxHF5D))CZRF;SvMcrBFXhy~7@D!em=)jRmY*7`3YRq|RvfMa zzNj)l*r{na@Pnjl;}@Lo+^VZda@v89e{=s1FJiL3_Ja8`Hl#%+#gBo#l><1SRH^{-W~(hgi)y z*cP0@i`e$FOi^0?^l53mzLH?*;gJzV6Aw*8$;$T~9?w+Kjk^fna?&#!2 zi{DofL|(3p+#>>WYiCG==kltl0p*65wobXHN~9!u*(P_HAcX zg|zkfjxuKqs(rn6J4lKy)vF(n8=&m76wM1zE2(wbllLPo0<^R;v8oxCZ>o<5Hl0k~ zl#t@c_3E>}A^~-uT_~8|zVKcF#x6c=Bw!TflE`$6P*>dro2UECUoU4Kf_8?5?@|Z^c`sroyZxC#e0VJA(?EX4MrZ<3leV49HJ*yVk|KUa3%lUHzv=;dt(@akZnT2g7JYV zL2_M5nWUWPsIi?fuck-iZ!l4hfpz*ks<4T2P{s&fjXf@RxsrDzOSxzWb?H)u*;5CwY8iPHGb1jq1VOw9dp~)8|Zo) zM{9i{ct>u%3|`KDM+C&pWv zrVYrY;`=$GikmSfeKOHGOnO@N%b7mD%3doU?VP@07Ba|aWB)h&G^p*}UZ40q#Y0%~ zu4XD_O%$SGIvFUN!H#Y2EIdCA^P5y=4J}tIgMBwjonbwF}rn;YTTCrQ!qRX*(K6g6(fL!+CywiKK z0rjk=UKdc^KYp=Pa;wSxuw62E?zs}K0lcf~>>fU$@>%lo%RB;A4|eM|_DAR~?M(Ci zq_pK>RaBh6xCK7GB=H8My0>ew8!I}MCQ5N8)5uA9pc$7_3f@S+PRPBs>bZsCpD)ItANu z7l>;2D9+WPCi=%T)^q=rT1!<#IbCt~u&>X?8*j%JPx@cl1u-{$Xk|Km^*3v9l!(rb z+`B{kATTB*QHnUoXtnirT#7u@+FfaeAoyn#iHCPKrEK&Voaig7YS$ah5NNmi`4MkI zqyD7EuSJ)A-cd_2?GroGzZh8>EhVH_za21MGy6X@$$w_Y{OkDIf8m1vBgvBI zN0$`A&~C_@O!Y>n?-~g(y8jRy$UIInj+gzEaMEtfbqqS>c5L#vj2-tS<)#;bkop)h z#m5)l^bP!L?f?Dl>-I(=ZyiUBF^9E&!n>7nYrUf*hH1kt6L|%w5lP@&l`%|^dUg5k|Tb;K!N6S+#i7ZMDw;7H#+9`1!0 zIPbksEr^m7{G(2EbLyu;d<)Vkkl*UI?{3sIR~i|P*|1w3B~MrIsEEg=PnavEEu&>iFG*J*&+5NnY|#$FiF!M`^5a{&nh0#K)kBiU@N8@4%)XB>BGB z(We7ktlDiti&fGt++8)^=8%+NjyVdIPG?p@k0)KL7d!2{={nnRNn7LwwUsn+4{lmO z_*exR0$j$?ok09+>k61GIIR_2#^;_m(^f`f?Z_h;2F5--c;=a<0+I{1Sv)D&KH@hu z?PK2Ol*Pm*Z`buA!p*)Un23aD{oqOQ@lJ@K9ycc_6C#M4K2Bo6;j9>q?jc;cqDX$` zIL@c@YSLG%pO7bJ2%Th%Z%a3qODp?OvbT6|T5ddQLFfh}cFgM*&jZ0Rfy(?N9rik* zYSSHQ1d{zoD~xJ#dQY#@QQ)zCdppjU64dmI)7+`B_|w<=Qi>#4`^WYaJph*T1#4lA z<+oE|He2lc$w5Zlt%!P#%zH1Iy<(rt@h^b|W8O3S_bxoP%*m$H9hw;BCgakYiZ!4J zp#|F_9y3|(aMO9dsoEzB7Sn}Z^w~)+b^zwmk)+A`Y+X3Vo}}xIPIF6zyEnMv%f*r5 zCmH`QB_jCeR84vOeTl!u*X>m&T=I-m@D9R?6$?r;N*Z&D=g@Gm35ujGc#$ko6e`j- zNw8kEz`=a5a4QE!G*Mpd1LteK?|Bh%(X8kLgvZBEr%M1t5rya1v^z-viyg$_Fz0ip z;6(WEI9^xSk!#s+tpvaG7vXZ!;E>l&ey-EK?Yt+u{Kra4i->zwR&;7cCdudOcgtRoH4r+Ty zuqueX-?aNx===0~U8wu37*^!duQkDmuX@)DIqPIUV4K$ z&2JX>pBGA9>O0)%UdhNus!WwYlA*#p?D;j)%BtMkseKd_>VkAd)!7KQg`e&M?x`a)2@1M{>ZMnb?-m{aq&FSK5Xs6~%&Z$v1 z2Tqt7_c%&UxVha1cb4S48yw3LLZZ{XTvs;I4@*ytX!3pUe}6Qm-Wz8T_{n3HU;o}{ z>}v#Vh3PaDB5aI_7-^BN#2~7k6}F}~&Nt#|%!u%lqEJr-O=*n#n7X`o98+hF()}U* zK0uEOmX_6{Xm+t!)=$ccwQ+q?%9FwW8NA9eyw6ro5j6WopN}MnZZd=pfIi7W(nmPf ze+Ez6nBea*cY*wnugWGRSxMJDX;0f=UNwN~ zkC^+BbbM$av$uP?Y-4TmGwaj+`&RgN&4@n#;#0Tt3g*s}oAAWW_22dHk`<)%57O+~ z$Gq+-^8v@vGuGJpf%Fa7$#i<3+s&ACDMUEGpzoEM3ts37b2{TEvFTE8+_8USih^%( zh8K*;&}4^SB@Vr61!x1GWuTku>OPM3gwQD)y={6#(&q-nilAlr(T}cD7G(Z>r2Y<= z`{U0>F!dXuQGSIlJ^5Ed52c~eQ{J^NA<*Yr&;Il;Uygi8=5c0G%k4bv8RQ$%Vp8?$ zsSq-n)z8!sRoZ)ue{G~By`S5pm-`C+p8JyGB2jw)17t2=UG>KbRplJ zLj8V}k1|$K_1~n2VKgND^zDfLV=J`cm+SXM$rqnzOM|EWAZigl#_Qrh)sgBpLB%pw ziBSv#3u4}dT5odNGD$Wl2ZR!1Ic34a2jBi=Hm|hr99&5hhq+&z=F1XSA=a;ZjM?&Z3>0AA%M-o+GD4 zOkZVsfmenrLU7TqDl>Ss*D|)OPD|()6A}GyHqTp@{6DAg4ma3u62w

    aPiVqf4}&R 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 diff --git a/doc/install-guide/figures/debconf-screenshots/dbconfig-common_2_db-types.png b/doc/install-guide/figures/debconf-screenshots/dbconfig-common_2_db-types.png deleted file mode 100644 index a819b3e5d85711c26e4e51bf8f377d31f34ab603..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29128 zcmce8byS;A^Diwev=k|&xV30;cS%c;Qmm8~cP%c#wJlcMJwWl|5}W|VHK9P!1SuBW z0twDdzwi70{&%5UV~9i-2VN1Z!by0);x51qX)#nc|`X2x`UGmqQX||6rMBK^lO zz_^3<8JyY2q}Y;R4Q#f)#s-j->@aQYRzLPOZAMTe$xL4Ph;ujzpCHZzJZag z=07F>huB0s$bQ}Mp9dzhAoV5wMOCs~r@Gh?-bfYGFAblZoYZS}A?*nx>NDkkn)A1P z;fXiI;3JN)QERm~u_^!i%6t-$9_a_Cb<6t>EL@Xs-R$s`)Qb)WZp34Ybe%V;F7NqH zG$&H#8B;(OxSP{W*N3mKQmjWN@$XB_h*?wG*rj3$ttI$|{jwfyiQ#%J>Lpy{6yF`8 zj<&Yb!IYRa({}7zzfTkrcW23AM6<;Eze;<$*W3q?jS3jeS+|6>%vxFMiD-WN)^mnG zn~OgnPYL-hV>SGNO(R2YsUsj=!a~vMYv9$HD;^;vZYl6GrunSdzcWCQ3&~WZtFOpf zCp39x`^VzwM`_h`-+Zfr-td_#_7>M6;1r>q;8k)(glEzd1u{sU%+lRw7#W<>kNn}&a4?rlWhoEROY7bAC`$O96>t|?21DY+%V z9a0azIgOX{3!sjnH){n}<+_5mDyabt`9CG5hNhD8n!J@IJLT)j@XFMJ_3KP~>-K5I{Xw5*k6qF79z5tf{F9lJtng zisT4s5=4G+(dY=DXmZX)^!gvI#Lc#OF$P^7;b&xI;OKHw82cWDsyspYCjl!#QOSfh zW5?3)@?BOqcw*JZdR%>ZciXgyRr+YZ7y%R#W=d}Kc+GKu{2H}&)o!N&Y2(1So^$@G zuO@#JUoFI8^Zv{pNjkk7xsGtYbD3PNt|rE8TMIZ|)&iF__na+oxm);PH>8rz(fD*>m@pAzby4$M^YTn95DKeMtk2q zXPf+0t+|_l=Yi7c^3xeqPrd-Ty1+JL{VOYKh>Q>UD@o_;W2^Euv&W-ZQa|3FRlX(w zX%XQuV;U<%BrXXx;*XBW~G7ww<2@aG-Hw4fnBn#ad`IF z!FM;yA4UUE4YSov#IW#Zs5R>!Rf5g~@$M$d=mKEvkRJr(7$<$oDK=9YLaRq76A

    apC3Fg(OW=21iAw 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 R;@2cewAFRhN>#01{|{??Eerqv diff --git a/doc/install-guide/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png b/doc/install-guide/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png deleted file mode 100644 index 4f3e5d9d3dd552ff950fb28e8cd257821be31a02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15118 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 juy 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 Z*Z=p6e9E<=xK}X%fv2mV%Q~loCIDly01N;C diff --git a/doc/install-guide/figures/debconf-screenshots/glance-common_pipeline_flavor.png b/doc/install-guide/figures/debconf-screenshots/glance-common_pipeline_flavor.png deleted file mode 100644 index 488b74ed3551811c32ce6e6d4af4f0ff6279d210..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38446 zcmbq)WmFtpv?UQBNCF@3gb>`_AwVFwy9PSA(|7|N+#$F_aEIXDSb*R`8+UKq8fQBB z-g`4^X3eZwGyH%qs_NXj=hnGrpM7?RsVIGVjZT7&goN~3R_3D`64LV>B&28iuTT*G zDRNqkK>T?Ll#tbUh4}G)^(7Q>Oza}1p&>=sxwdk3VT4ANgXjK~!$>_hK1*X8P}; zUyI+q{T1>x_igCKJ1MW@eE1g_{FBUQ*@eK@bDf^q{ryX=weF+CnIJfOYI_+H^DC-A zY>8J?;h7|zrm^=1e-A^~ad63ls5AI#9^ZY+9;!95g_cg7*Sr=7VY42KE=-^-fGfW`%dQLKn zfO2FMb2R_ofdf5u2Zo#fJ@-b!d^G6q#~-z?NqK)4Dv~D16--}UT(}Uh=nbE&^{CL} z%`MY$?MU$d;A_=>zM6+m7g6{;C~k18t(ah4`bP+gb|y|BI_>Rdy=Jt@grPuaDa*c7sZHV?yq*Qjy$M%BjY`xPe{bge3%EpE{W@8RWKO$+bY zy(p}!YdncXV~B6VPS?0((Rv3SiNbx@O5{NuOyoHt?Lp0_Wly8F^!4FEXZx zi-)PHb_))^dB|O^bQKCmccmsW7(+$I_S||`H2N{_TgKoMBr_=YCc*>8{Xx2>*>0hM z4302vHMM(>V(+(QY21VAV~V%x4y(_I(U%$7*A4Sj+Dc#~_W@1il(wP+^f3El4En1i zXsk6~=R2#QQ&zReO;ltT(aW@7X)}b}I?tPf<3sqKtwuHLtCVs}X~kem&?m~>KRlpe zzIw~gpYpX6DT(=p6?#U>Yx^1T1|cyU-ijdAT8xDdXD%cb#YM!W6|JzGgdSVJ2!g+K`8JjEMr{2%(NZ-dTuU8*r=Wu}E zQh`+AQKKS}VeRr33-$^zfbR9Y&WgFNqaos_>8o-e7r$@{Z+!sTxl^~SE2v`rx~joK zTk!D8^DFc+2_8ZkD-Q7a{Q|IL;n>c|K|S*=7E3CK z41UALEKD@GIuCKF>_~*WaraH?_H3>x%0#tyc?O_vd2@gK)K~MMfX>5stu{DBOsB9I z8g90fRBNEXv!N>(S$!xM@A8174mJ9T*@PN$D&0TvGedM_c!aNf-a+0oaVF9Hbx$$w zesB>%YT{<`3E#_~!N>`_Ez7Mf~nIsY=&?HKg}s9o^p> z#Vj(4qKlg}uAV?y9b+^m3Zbn;y#}x%fZQs zc~fsamI>7ek{Fn@8_eUSIT_t;R=BHHjNaN0)-(DU}ah2$tAueY%`e3FU-fq#~tw(vp?%vZPC5cZROpde82NF zKXxBqBGAC|miy~Ak3Yi>EHYx^XH*Ja^r1*^HuQqGSM4_k*y3r)(`cC?-`9>Lu-Tjp z1592ruu`SL zSbG(l`u%vRl@I1BCMHI}dLR6WlyCI(ffLC3kwevL^;ojC+3Q{ysb0{fpr$OiV;j;t zUZKRj&&64Gux4C%vim*NBLsz`GzXOy@J^`Fu4{dL1n}BgKk*bD&GZWZOU*vx%ea5$ z)ZtV>fBMJO#A`ZO9Oom4N@F!463E;)3cRxyxo4D>0PDZLsgf67VxTs;ci7N=nPB&_ zzKbcBg%2X2yr(sd4NiVkV32N>lU; zLR`zGM#2}_tUU>49K{B8NKMEuRRpM#YU!eLUzf`SeHOc|yG_OdWBu&WmB(F)EWj46 zCtXh?Q_eLK|JFfws1NN1j)>XvTVm80wl z-@7zD!FLH>6pW7n@pKMA$C^1hm9i@$DGO{MOZBM{McJ@Su-SD!jHmHV zgZT9OR0}0r8=ZN?WdqD(Cfa0Q7EJKfa?-wE5IwG}a`I#wr4aH5?#XG;Zz!+g_NUa1 zqbgfeC<5x_L(o6+GtJeTylx#`?3`R6gyy#!@M|O;zJ9P$aMr3?_YET;pogX_)3P9|8Srio5#+c4jdh3l*n6 z*xXv9msoO;$|&WQEnD$mOud}~b@iSNCZmiNH)cvj7OGc4OHUvA{rmTFJ5QROZ?WHF z$hm?MIUR?bJhOfY3QZQ{eNft)n4{aN*>42}3};|CJ(agQXOR}M;b=6Hix~1`tgvU! zrL(RZf@Uj#<6h=9>iv<#(^72FpD%fMvU1F7<4T7)GaV9B&u={%)cpWqppqv&^>=9~ zoUUi8-Q6#Ww>AFxnn<_dd6ij%H0*I`cf~YhMze#&0Udks%rb)s&{X~H=j_+=l-oDt zetku(OoZ*I9~zB(#9?8dPN==%H$zQ{r9IWJS8&G5srpUxW;c)J%Ipngo2|QI@I*aM z$>Ur#iw)Xs8(>OCTQ)q_a`=Qau^=(ieL~Pl$zr6<5F3Z5jDQ|x=0K^lVXf)GxWiky zOui#Oo@@J2B7^&V;62pyW1X#k2V>rFW!1`B4-cxUrH@D5olPW6J>rv|b&A*>HSTMa&^ai;coR0mZ!grW|+A*V0+%s*b&jZav;1&Thqey4S1}a zh49qwq_!MjoV-}Id$-(*Z}`#O;DW|3TZ-}HW?^l+c;1U*?@@_S(o+O zk>nliM{-yz#88hEZ~Qz>-&J24_d>0;UpOt_^d5+#xz_f^OW<+TE;6@qzk5UM>T@%J zVHvqSB*i)zt0Q>K#^?WqTOqc?zII3@cA@Sg4|BW84jt{;#S{$}%HYuZ4FY^aV> zZoE{QcxwFVbO5X9cap=q>|Tik$ESnYuGKEdavb2--CfH<#ccaan(@{@V6t~G`|DYS zM}s2v0MzaDmTl^~};GS6vBBSnkKsNC#p>pN2SdxLGS!XZbef(pTlCk6xU*4BiZRHz&eh4~GtP zJf@dF^xldrZ%sCt)Evc2x37$Pm1}@Zx)UliHjF%6VlT%;=F3gX>EIFjDJ5z+y{QNQuq(WcsX;gLY zHIn4yQlzK+CSVxiRQYjmFQ`fE%r@)zndL0ddj=3RPp&>FzS!P6$1SaW@0!_HkjU+6 zjjj0gXR%HLdDzwpJ)pshQ8W$or0q0VY_kxBHz+2Og~V4xcK5DIhZEmr7z(@6s&uMY z@eEK;H$9=BMo(l-hyvSf+~>5@_oS({i}P>~9yDs>N+e(!gCBStI=H&5eLO4l>T8l3 z7H??AGjLoGkU5vAWQz6T(BPToJic@XH*!3bTBDRK!;S!lb9ChV7F}b4VNa_o-mq_& zSQEyX{2HIWOmkua8Wzvslpj|;EScSeTDyi5RvnwK&zP%4|7yBKpo&jjwJ2Ykhq8gL zU#~YgEiU#IvAXhCsaQK+F^2w~#*Ky)+?x4`VpowLyUi(;h2CRS8ZF*$%&f`61lVv# z>%9*~bUG7f0p~>gSKztj9kmTkm9bLga?_gku|%W;ep6@Mu9_U*RoP)8?J|*3Kbh*t zkoHc&fSK%utPx(KulbP+$}`2FvPCxq29Qjo&wVAmbBcg6)5zsDze3UiQv+A>ph2^9 zP{Ob5+4^pYX|30@Ui2yRuNU`DMn7LMcSQEhp%v(TN~aro;plrPh?jN%cKYGEy@*&( zIMAXh^78OD{~_fyVfkP&-rU`sV6grIGXrnT_|I7xEpp+$I4SL7t#gj7!^v>os5o7r zJMLvjrA~3+a}}mDd)TzTtBB@ICUx*j8~|>GQ6o)Kcl6Eu%W0TXYjy^sda1Y>(!_e6 zOsy4`M5qFCGxEDlAJU&7r`;2iWe=cml0Niy_;M?Xgm*Jh+qnKVj(#)a`_P|ImCE_< zI^-N^m1r>U_0_yRoBC}oD@l+)`IA&mqYj}v{K^7Wt-(0$RxtD_8`rn*YkaGG17~`4 zK6_gw>4PZA$b3ANMpdReO-05_*f~*_Ve{4aON@!8z)=r|{tw zO-_QARFpLFfc3%nQ_fVdMXTs0To|bT`9{r!75201xc~gLD~&m0KBCdfz~rg}!e5dY z>A^|%^@eop#ip)NnbKCrdl5})Y0iy9+6?s@6V$Htk-f+-+vIAPpAOf5r0bUYd<4P z`?0Tq2}k-oc~GTlP0hK^9T0)D46=H^mt%Il;b>iX*9=T&0o3W%PI%C2ZOJJJ(sSJo zr?`YOwfYt+bZ9r5{!r1&Tb-2MXv&XxE5IAwt{pWu-*WSj#LTAYH)s&AflTY0KM9sQ zc~Q)#f2?X|@#Kx{1}mc6`>6sw_@~NM1F8Xi?5^|N`%@)7>ryLfr5X%hZH;jZTP{HJ z^>*@zYOwr@3Q^zV;b!U+Q=E=o`y20WkfXJ4)MrCdV=C7Hiy|1QO>}Y17C4s6-zhYQ zKsdlHMwOYCVF*10Qd(qoSSmdIEB<;{M#~#c9C7t=eewq?BFb&=*aG!j4L!eHyz;%? zr%dVtP3F426fLEH6fNJXM)4iiZ6m5LBdBHYs}dE9oNtwn<|_3ZO?WOH6#iJh6e`pn zjV4Ccm*+-JaL_gw+Gn@xc?N>C{u5jUlD_d_63f?uqunGu`Fb+f4~e&jn_1x>Na{H= zI#ojj>JRDsOZmq53WrnYbop>C^=fG~B?46P`+--p;PTsj^@eOk+9qAV#K_*FLa0>H z6!rnkPk_abG@0#eCDn&nzs(`Qga2R`V>+z87R*#nW-`e? zcu>`^SKsqRW@Eb^gZakk%@F+KI>?612mCu^dAhA+_Jo6#{Em|DNlVh5^maLzBaLiN z(F)AM(*5E$9Ubs?mz7}j`gu^HFv7dc50a8lYt}#wyFd#yW($D3<6{aNWa-!%HYx)V zCQu9zbhXl<#?GY4w27@=6mAZG5~if#;C<3T7u?1LP}g2IW9M4V0cqR5*PghOa+z}* z85v=caARjGCD%V3wKgFlf>z)3&37bbf{37$UHbVeU%yIfx+V1w60a6g<9L7AY#j?g zw7{L1b#lm0%wFW3`_WiVMZP-|JmV08!;W|+1C(>dHw?`A4Ll27@y*y(*oT8D%C#(Q>7%Ws&c_ciDpJtG*B zhJ?Vh+uNFI@i?ji&3UdYiWOI5vv}%-n-~jC9v(trryM%mSxsIcxCV_}5XceIZq-xw zX*(T9KCOv@GD;Mx(h-Cor2Rf$321Pv!@0L2=XO9B@%v&RXGBBe|umEsJiGe)V;mr4of9S_O_ z*8vd%P8Y8T5-}x#sZ4g&Nyh!2ajg22$33_KL zjK4XabKY)x3^QuGP!yb?#U#VJUJN2q^qx68Lp8Cy*%z``R6id8_2p*&LA*8ra3nUx zbJ#a>Ilrr?snX*S4a;57@>p$WfQLVXX3TO%d%F0ArtKD& zac2GZx`1z+|I)&*P^kv~i>ZwR{!1K_1-{?;dxr%7E7|{GZymAYGFEB;JC*Bi#6wZL zd*zeSFVp^vf}Wbu=uunl;)P%ceiI{RS~u;r-UnG zPPS%`@X_ADcV&0>S0sc|91xV(q^iYG=k?hQV+8yBqvN0h+d6N02wdk?In}a#tLM}t zgc3B!lN@)`0ly(M{xWKjJx9a(_3LfkZ{1)HxDMIz)J5}yzwTHvDxjFF#Hq5HKh7>2 zGTcUrzc-zO+Abl9cH)Tgq2!XaAtk9wXP~wx1b+Y`A{S$R>FhIe&ME@ZC#Q^R1;tLK z<9?#}>s$IZ3A&xEtgIlfL*M3Pq9fm9FrD&>4Zl`G+Gpvc^UtUL4=1v)^20D~$VT`; z)ZDZKU1Rj`0UZUC|AQz`OMhGES(F!<$tJ8R9BSTD(*PpzODCn zI?}AspO@mgbdNKaTbV%J(zV{!@saMN8=ki%5KP0iI3HvLF6ZhVq&naPG!Ddsr%td#SbM@P_QQz-7x8XX9E`@_ba`0s)y zpQdG9DpF5l+S+cLuJP~nPQEnq?P@@Ww;%dtHN8|iborJ&Dlu3aqdO4qvuYf^pg;$R zWfwFAJ!vYMDTEu{ocoyD0(UAJ3vssJfFJl%tJMe3dVUfFy{22azGX8S`2B$pN$KI5 zU=j>8TZA2}3d}~q2-!}~uHiL@k~`CJBc%HCCoxg}=aqsuSW@8aOr_5T_-sFjQXBcg zKNUeoE=4>q^;IT!*nRJx)2X4V%;`pn?jfZ|POn|RyGWw7#K#8jGfga}&C_t85^>(C zYZ#B3&F`+IykMNHncJv4Ui3pZB1tzzpKio+Lf42gOX2TZ!8ZHpFIw~|AR^yw{Dm~=U1vR^$KhJLDUxKFXzb$p2rwj zdRK*p^R^N9^BMZB7XwfK=vZ)bNk>wd!?h#tOi><;JwoOlj8<S7B*a=kkN^%lEH`P|7=$YkDdq&S(2nwvvi8h+F#Dgm0WG#Fd7Z(pRg%7NT1c4WpLe`%X-Ebti)?~ zlw@`jBkG--R(sA`PX>EieYrU!HWi0M*u4jJs-Jiz+5I-smY1((2e0J|qWiO#C?cdi zl@ks-6AzmqjlT7VXdT42^qET(iq}ZZ4fvf7vN|Cug-+WD#EJ{VsOy6M&H!1!#*ADI~A0bk^1$ zi8vzm>)aIlfwc2`TY2^$RwrL2I#vigd)?{hel7U6ysKCtxctQXWzfbr-qtr`Ql4+a z*x_RqIBl$Ig@RHuB&fDg{M_jN6cN~9t#D4(H3c0fzh`4XT*o@^93Z5oa5wsTQEvOC zpuUP$c1QTTteX>&;L4kc!W8AF+O%eQDDcP}uR5$m=Sa`gg-`N~V;J3{bSExlMKQ;@ z-;`s1nMmkI|Fu?ed9o5iLZuEfZTfPVMzek*izVekKm`;Pbdfj;Q;oDbKenR$lW+3q z<9K#%&?e|TFGI3Rwyf`LTSXG5OXf)OisC!$hJ^6YkKnzI^sBqf?)v?u*lh zFEJ3gh~@Bk&7?ZSvwE=O-PrLiYRENYHTU%bopcwBj_~>dp`zO{0d!3y#69)$JN!*h zh}d&HN=k=IV~L5wxk$t zwdB~l(;pu;=XpZ^>FRiWXKRJSev@eb%4exCB`VlPM`e9KpIYGdxeb9&nnR{_5qf0l zQO^a3`fMAVDAvj8CtcxOy&-(xH_}0W3)(M`nGIL>^-0wCMvcj)Q?1&WZ+@Ww26FJ+ zVM0LAKS3I%vB|YlC88RJW$YOy7ZbHz>-73rv4{%^wJY%EC?2bcBsEl7g?`O!P^HyZ zvUM5+pV!I`l`YSBc!i{is$>?p2G~~ejIcSS9n`3l#NS!8Na%lK+1JDopu0-)VN5rB z0=gmqtwGiV=m2qoS?KCUG`MdTZM&0v%Xr$5i$Yj7qReu17qYxcxv2?_ckWtz-6BZ8 zt06o1E;RX1M>yoVV7z56$9#>_CjUe?xPVt1VT>j1E-;XcYy94DL-vr?t|X=3>DSa@ zPsw{9&XAkQ6{@~#O-u30~ zpLfQ_E9;?>e~u+WaSl749+^%+&tKeEWbIsIpv_pFTesshZ7|r6@5>PW#*GH}uN^lVEw9+*Cpk*;W7X(<2s@eGzwL8{U8D#%b{oZ(z?m~!ePT-+}C z4>F|?9vEO~wpAWI_d(VJW@X{U$k}9OB(ok%Hlm1re7XCB2s1;Fbj&^7-f_~SRiPvt za^bKmDPYXfm*CQH&@>oMEr5!NZ6xw-$ENtkc3P9QaK%UxAa7_^hVr{3hcCy7QEg-L z#%2d!u%5*saTYlVZl(e-9=t2%$lsrX+%bxg4U1$g&Q4U$Uj}%zG!S;#%c;d*90)oF z6x`v|8X^43V`S)?=%?sij8iNL-~g^UKbM~|-0)vE)nuLY7ou31s|;$k?NIl9h+klK zQ(7Q|Xhp37M}OzJzK!ZOaP0ndWeC-2V?+D(i^$$NWFepM^V8OY0Nn;%Kn_6;3ij5j{>c26Y(G~|HMOO?me3~qJ= z9qbi)%cswDdfvXJ78pDBn46&0pEn!xCHNB!^h&%eHi&ZSB`S!$#sZu0jZvf5VHCdh ztPevJH#O0P^wmL2ocwqIFHUYO=GN(viL#hqHzT#d=g67(sBh^?j9 zs)$~^{=QdD6kkV0%WwzZB@r{hdT#uUxn|w8=zQJf)@~ohy%X>2_Bjb}7tWP?vL1l4 z$HD|YvbFYIp?$frQzCUNN+bcsc&w~_^x07jRCLunp`<0Zn!CG_M3(|L`5d9ieCn6X9AjQx%Cpv0YF&uxW*Ia^v$@i9MY z?Hh0SAzMHxx1eC-tM4W$Ob~myDRg8c_t615790#whrhF` zOKf*gOeNL7qq`%;Z-(F{4#~X*MZX3$8$U4r*|Ai0;M{iC`Pp&RE4|-bKAFSzZQ5;3 z^y5<9AaY5cwuPy)_Qsf`JAVyRR-TzWIUDFYhi5u9S_s;ez>dFg*?A}2llio=(kWAx zaq8nJ*y?*{$Sfo$@BB(~JCv{gJ*Ymw=3dt`Fo`N@ZCZKEAlGoAoPqXy+HoWLalF}s zpovvKTAMZ=(So5rfOC>pWdBt)p$`@E>@?5CTAF+|bYJ8_$77^fTU&0M7`cT+b=XDb zm^G^GCr{+6evL?v=4I&tE?HRH3RB**C5b3-zt6k*!r3Iv4sA zyOj0mvOB6`)-RRBHLjq!s`S4tr!`7fM^29L(Wl(>=j)G--_MJZO9W=46g+QxFd&{7 ziOB5uwYmhrpH2!Kh8%)-Ohe^cQB;Iz!O zmcn7BnhWZzNWwShMdkq;bxP;0EYj}qgEy4-{?oovkLN1Chv>S_N%hAoCu|SqkoJ-% z^?ZB$=TCS#8elE@Y;Kdw6*<7zvo2NRvusyaPw8o&3{Q-oyj5hM{-$RBN>o;X4sY5t zD~qGU5Lb#X6Jmd3I~wMvKlASIqkNR5`M)P*{#PvU|G@CLI-$Nr44vRY5P|#y2^|kz z$|;08kiP2+LcB#4*rZLsH754Y*ST-Oy{4>3mVwwbDSz3apCX*;n3zX5@7Wq&_oXD! zqqSh?{{9z~93}QX|4=mZnt0|N62PnG{jNl)MC@O}=|_Bn-NMAv-pqyfPyG15C;l)| zpDbj%Joc2C&E=gwy$k%+U!q>LJ73SlCOR3^psAU1QGzW0d&`?}Jx6=DwVv6#B28oi zTVk`jykqohj`8{9r?G#I@)?gD1F;2Ul$209KeIbt?5f^g?Df=`4HY+d(QGjWZ)|Ue ztEE19r(_&UEP?~XMD-S_bYc-wD+KOR!bEw265uBp@`mHfFYFePrGWT;rPz!NZ-3Y+=q6UEc&rV z?a%hev%8wEWX5Nj_v9~P_-NX#4JWAgH+9}O9`^Q*uMfz2eIze?3fvfnUFve}wz?mi zAIw%`?(&67qQ-oSi+hJ~=sV@O42;w7Tty}a(-;vpl2c+8;*EEF-0fwiUO<&tEgPaI zmeMh>1boHUrT-0{l_3`HQuPbnC$#>A)D#Qay@f^xi}jyjm?Z2e0e4ujX>p8yjB5We z`n9&)ha5O}TAY0x*bRMc(57-l8Q~_k^R5D#@#TXi7yTG#bkb)*J>lHVL4{$irw+RX zUWB%9l8>aYBhr83boY;aI4Ql|!<`zu+d-AEq@nvZ5fh(qh(ElRP8B z!MbRD>4lgnGic`X?n?ZH;A@$x1+t!Ec=dbYnnd}S;ui$+l|yW{x=AKRB7~Byyu_z< zdjVFLvSnw;x{UD@s;D?I0B@i7wwDAUZ@x>9Fhi zUMF&SCGSX$wk%_<{jgXp%}+3wJN&0jiYSP@=ZB^x_#jb}7I-BflB-n7HSV4?Fn&c$ zBqk8!H7dcK_+oYO8Rl3Ny-aN_$D8|Cz4CeEzC_O$wAp713KK`TgQb*-`R4!l=12nG+-I zfjvp`*a(*PGnzI#B5i~wb7<;BmHK6moX%?`M*%cX*OM)cbweKa8dX^CURSuixTOMq zAHz%^!rN?9QM~RfWihWMZa0b<_+mPe#uFG6WHwczg3vM&oei@??o2r9VN)OT#%C8l zAs~D!X*oV3A=;(C#=zPW+d4;9|_jZ2sW+WYC)BeQtu;4ruCe@ePA1|{mIryUV z!`FM7i_<=R)r-o#r?%XN_wk!3`mNWOu#)zdGIpa%6;u+(l-=YM&*J0235pf`MkB0q zv=;pR{debT>Gt;amnJyzW5yW zfPB^1k9l*2FzWGx@J9V3uIFmfgEGYWgNqwuV4Fl8Omn>XMO+tkTfzAW`x#P6khrbI zXNeiwf)zuq6D6|`l%5W!Tb*R7;k5Ua9&+&K5atU}O;@|@E`)N?u2Fl~%?7kD5E(Dl za}R&U9E$N!dt%#mj&e2w%2$~6^WJb{x}$qoIE(9? zpq45Fk~=XNmbmz+%aNB4^m07X)WkWf-mT0=|1 zBFdQ1gPzyxMQN3dRA)~1MUSP40Pk%Q5@I=N%7#g~L~~szvcq~uM2Ga4X-xqeyBr6^ z_tWS|!+jpPCvR70&NF0)8K}+9*Z{nJTyU6XbJAGMU_TmAfwA;0RN|Og{>VfKC4vK* zjMoBc!xr*dI5yoEdI@YdDJELl!-VBN%~x!GYUmGzsq+6BwU5i>N50nPCTAxaAYcdFzjW5a_*}g(SvW! zv!0%PkvD_`%LxiAms;IxfzUUj!gtKcJ7XpnyW_*zV%b%Y+i;6)pCmE9r|9HHK2}yw zFxE#=<)9xOpaRK?^|C(y)4}a1>^>OQe80 zYQY@U?D=LAb;ejlQ;{-stw1+L*`Ujm6CfMjch+wm8PGc4QF+I&g`o~@=xB7lyfw3a zj@VB&w@1=3NqHj?5%-2tG*T;%TEy^Z0s$K`7b~PfQ8NeeFO|hUr`@0h+jCWaq|JF% z7Hoais4IoHWS$$H>2LCdjhQcA^<`k*!JX)SQO^N|l2W7Qa6=*=ckR90A41;cQk0^tba&DnP{gpZ8Um_e+vqo!^Oa- zGx`qWEv`1DS`~v1>AcwDX082mVRqnOL{ZXeYHF%w8vFu6W)%#| z^74S=tOtIp%w~_h=hN02G{VA|i0=J{@1{3l?(U|W@9W3w;-!6^d+Vk0{ss4g;d+Dk zzNi`sRFvx%Kdd&qye>)U|8PywvSQYp+b=A-zVzX^QcMOms$O_EH}wq0|2yt%i3a21 zqJfi}Q^Rddky6n{EXpOlF+)aDMVfkptw*K1B?4i8Gh>l>g<7zu`DUYa48V^Y)ZM{7 zs1)!UqE`DqSYp6K#|u9&9@eDC+jVI%uow)&Ubnw$9&2Vm`|1&ZoN-Y7iRx#M(s(Xk z8bSLx+wO-0e4wmtE4BoGOI%#lyw$capy5NwH-~Ht6L&^!L08)d3ktY1zJ&1GKU03S zl~J{i<(+mcRPSoU7#Henn!IUHGI;HT>t4@nLfE~W!07G;XPjl(LxALX1kS|EL|7Gc zbNP$$C4@hctz+aophONMWPw&E7g*b|{R^Dm0U`QWnNpJc~Qg+T2Nc21$ zV-oTZZ*yvu!jfbvz}xUs7th(cHFA34XlIswkV7Q}pl1N6X_5gQ>OUIkVshNK*wW~` zQSO*~lNeELSx%P-Ws-&r@W_SYbW+6un|%D(NiPk=o+!n9tG{6>`nFBd4DYWy!Gomm zsyxs6CY%rM>KKmI^TEMRKe3)N=2-!k4R<`e;d-)Sh0z{Ip}7E#A};WHhz`l6>A~hR zkFwYItv({g!-?c5=*zP;aX>)Weh^ z=r9xeR+b}+Cw{%NJ_QuB5ka;H4iN|Yo~ zUhheKr`^zR3*L+-cGSA8KQUqz*5E> z%ID7)t9g#@*Hh1DzTa_b*@?K@l8fC4v~KN0`bI1DjCA0Q2wvsy7(xj^^-PVBkwyD4 zo9h7<8=V?^p=5j7jRR7J+R+CLJcq*j+kPYHa0giQ)498}*#gCs$7esl=rM^I%%foo z*l)D+9UJR;h~ntvhFhL9I@52^x^m^#h=9=EdAE!-6q9P}){0;>rDx)s>_x=MFe4vm zL)YtqY!J95pT|j4?eOrNR&l92qfsB}$L?V&y%6SB1w``HZ9Fasr@tBZ=@feFSyz5( z^zV{AQ+T{#WP|W#Sr>?ebvVcM)|%J;vUwL^eKSj@ya*OMziPA~zC6Q-WTgxhJz`9U z-Xo2C((g^Ud6o>#7CvT>gU-P|HutZQ>-TUMT)^>Lxkt~;A(ykBxL5U&i z#W3;JQ8S%wv1XktdKk$F8+mp|UgiHYA^X11q<=>j?a--9U4N z>s%T5jP%?csyX|BH$D4nd zvk$diEy%(0C3Szj$pRmkfIjQe*e++JDVDn&FHozXbA&HYNwORl2s*70LYfZ3&rsxA znm66$T?wb+6&f4bg(P`>^=m6;q=@2rCAO|ooq(_coi66XJf_F= zwg-kDw0+QFc)>;t4zlH+(5c_y7%9ni_rBAgfx&AHuUdku?%epu`(Ecu7h{zUKYDJ2 zN%STdKh46@h;8atefmWv?p_n6UK)#Uxkvfm_t&yy3q^bQ5ajX;3?r!7AjuN7jXmw~ z+mYLIxt*GuwxRj$6z=6pm`(kNKrwy^hx%7Hq?C!O+Wpq-InP~gRVN0b5#o}uOtDts z{Q*V=A2VhXd?ppvHtvFZpI7Kr3YmlA$fZLB4O7S`AHUYR8a|H5Mr0$oGzw&Om`S zl?|hiPdpg9go)C0VsvVGz8h`Z|4=x!E`_w>z8*enq##v#HZo2Jd5!r?%b`&&C_9MJ z(h$zr!QoK#uy|a(CIgtx>gO));j%-h_zSY85U3WuUqCuR}nWFoF%zl!Nc$rr}bD8Zdi)h2CXb&wI) zx$c=3=iDDD6AsVtd%4ec?sB-I0Wf%9+?X? zEhQLL{PRZh347vb`KWTWieaup&;y>*2=)DwTde?>Mmj&Dn}5xlap;QFLwVYY!I!s3 zkJbG=wSKKhOR`?`o+}Fz1o~B~4Urc5!t?;6S0Klf%|$J}f;jG4GsZoZMPN!x~=f=vMv{~!Esb9@tmgahgvAHxa=arkTL(hzLSIar-l z10C6`7TJzU4DGW^k=esUFm1S}ifG5nhS1xuNaXz#Z++KCp4u~K?C*qoz>HMh@i6=*pweWsNG z-Yv?;tRz-sh*YjAin!W_E94E4Kg4?hfH~`XurT5VM21z2N zzNmZn#w~LoHLwZM-1l5m?^(|z43AqE;8Meo!52pkgch3^%&ISk# zrlyLzM3}9@9966LcVD9m#h6uXXkvRtY3lb;eVwVN9m%LV>lw#4aP>`?ubg?xI$EUm zcbz0~x^QMTuT4!E>Q5EBo;o;W&e&i>zfbMcEKQ)?rvgxy_Kza^^py@+|OAL&l? z*>r-dmf3;pYX_kws;6{FN}l#Qd-}*nwNR;itN99j4sHF-WqHa8khTXB*UF@DZr{$bS<@+LFedpS{#06N4#P$w8D}# zG=2`1ZM39U&mmzET7*<+Jh>ZxUc1L{Yj76bvwVeK_OU;CdHn(vP%{__(@l0IUtIVfhj4e^^|^3+hS`t#KnR;i-(BjdDfa^u`jhuxPz zBfV%JKMdph&g%#4g86u8QQN5UN~P)gF3ry(gw_aODVeJ33zJQijfRo!%_2iItQI?3;Xh>o zNY}SF>fmel8;H}I&2$Y#`X!W@-Q^vn?-eKkJC5fZIpbrwd!_NE;^ z4)<6GeF~k2u1LOb4U^nYP^IXEq4{cqh zF-w0W3lgtPv}tIJ>nDes-vKPp`|ZpBKDUQXVx;#p;$pQe^slXYS_6M){Hk9a;fMZc zrGMui657)A;@6Zz=P%m@L_L=bm@D?_U_V?CYbMAJo--Y&&!8tk)PHSNKE6IHDBCP6 z!#AX|O(?;qU&btUHP}`m(+(ru9pG}4k!+9vn1!TvKG9jz`uF+(os}NTF60wn450cA z_@mgAp7~Q~*LYuFCRrZXzV!m;B08@gz((6pKcA(Zq3zCWF)^sK{9ws1PLisucehOR zM)(XJcRmEqo&L?CQD0kLCfoYj2D^4kf&8{vCZ@aS=s?>IsnyNkO9GZGCOVaW1{hSC z-dJ%wom|~N)RBv(-K-36AFi>?2^>>5^c51y3)5-)4&RdxxKQ3Oo;D*?LqwcNa zqHNo>QA|_>R1~B|O1itGr5mKByK_htB&4K!=#HU>MyVl(?yecSYshcldEQ#D&%4+9 z_WEP*Kl~wa$6WV$opBt;dET#83j=FNle^{W$G@=%cuUnzl#ccA(-N3jj^~qUs}ZXr z^8}pMQe`ZwuJfp#dC@Nfy45j~!s7iUUj^{8{8FDB0RX1zs`R|tw0pE4z5SRn+?6VW z8St`RfPR);q%`ng2IOlIb6zEX!M#r?Z;16$MvBEd-ZaaI;(LOob=J2JnVAt|8;X9J zI&5@Uv8-qg5(-_4q+^NhdGTiI&LC~tp&)!}>N2uYmV@(_jrk5{lfy^%cvG5;q4ftq zxaXY1EP(UC-uP!gpfuj$hi|Q<)+PP|WSfZb6920js)J1&Eobz%{WEzz_GXWH5D z?qs3b9%w;cc3`3jZ+mM^uevJ-&P>Dovd&lzQva-~EYXNga{5e7W0fw7{#jj;@q;}UH8NE1JXv=2^sNaLNxxd{k{;jn-2%!*?pEwDW$g3 z>1i8@Fq<%@%aa{-+$R5}9EM1cUAn@-=u^U@w;@SE7*uSFh~uXC`=Y~D#BT>n|Q{UcT*fsqb6#99?|;m{6i;xrBMjsi8kWOolbzFeGh^W*DT9v~}eU^hutV6plrWW;n{0 zh;^3U>FNvm(H~x@!yR8)s=I$#DpJN)?6`{6Tmr;=&T_WH3Sh!>og*Nq0(6rK~l~|6qcb%k?d(j|Xkn zjIzdMAZk^adG{TtHUiBAQ~My=(utW8mq>lF$BH--(wH>fVeV z7pkgso`fY=fHYXWd58x5+dJ(nNvI9R#Y`dU2H`%+kU`iB-bx?9)P#)x?v^6!1R3$i zuEiO#_RtiOgR|mH%H%iJznHOcDOj?F5g;cWJ|q4~odszk0$D;FJ}&jOBz~lraw>KZ z5e`P_I5nWLX(ym?J^VmXaY#yocv*U&|8a@K=LgLC`$<+sSWeLyrm(mOV{IC0cA;|P zOo?xeLnEoNMr!`v1u(f!-lTiy13_})kCdalwkmaehW(QUgoE*fqe` zGhv@xx|HGC(HC8jiPhQw?oSWaxGb!|w4pQEIvQM8V5WSRwme>PRDZgh+-J6X@dk!| zBAyu83{DidN0jb@L#)r9oC7IICp){yw%OZYt{*;*73pNk9NxjHwj=S_fP%q<=+47YmtWZD~+NXVsvCR!#$Q zdzI?(j$&$hLdkUxyjvgxbU%q3eC}0VCNSv>Q67U%uYj$rZ>WP+LmK*dOzoImpS|S$ z8eBf597Z|xh>b1AKTmbzZaZy|RYSVpe!$HYQPlx zmqDoca7(Pic`?eTuBNU6kVu4v?NVw}+4Ws7KD@YYjr00wCk4&AJrbJ!7Ul zcZ-7Bs)}`DmR2@#KghO|+&nw_5LHNI1JGoh#|8`koZkjxM|9S^(QqFEu{2lHvu4&U zJPjCwG|GM)FYxsZB|BUhV|taD*u5#&odr&j!mXSxab35RO_HIMvS`?x;fxCxAA11} z(##v_TaoBYO7)E}Xc;|NtjQ+V)f>gV>#FDy3R1N1VM-a`Yd5I03{pq#zvJnBlRLw9 zw3nD2z{t0NsyR;JD3RWF@qx?Bum~msy;C9 z11-9uhasc5LsmHEg;)6r5oh+h%^e6HN|T{|G3wU z*;tXW5m>xhp&{K);O84sN%9##p@B7A7QL9s;o|P-SPC@tnr=lQaZp!TsUfBN%esRQ zF2s)x{>|jEl!5j7Kn4*SN7B;7a~ZDk1@{ZL={g?DTrO}mw~)q{z}l<|y8i2SJouML zorOv!G(_GE60kA`WNAzAj->&>C)joel5?=* zB=5T3Y|P#izt+xtlUc9Fju*F1! zOhbr<{F9F^HbA^z&0{^m*q*&GX}3J8p*h4?)d7;}`tf2`B60(BE1ibC!X@!e__r5T zhYqv4P3bPy)=HNy%|L#dk-=XweW6lZygM!%@U}*t;+<{SJ32l-=}pd>KwZ<$*VnQa zI;SpG$pv!7;%Wzj56O}CjZda>?lqW{F+9GUqUEBJQ(+D|WEpb#`AxVhIp0XYkZR>>Y4W*~zr% zNmi7_id=~ZCL;x6ynDi~8zjG!ex|wR>q-y9!rk4!hrLoI3fbSNQ4SU(HN){TK};uC zplxKk@m^2vl0@=PckJLOQ8D6mR(r%85x37zxP2-uGdj|9ci}7L3AN(`KU4C;2!voT zGo1YpjVEfkH$m7CMJ!7ZX~P;G9n*7My?9;i7+Ef-IeT^jT7;)qZQ*E(SVbpxzD*71ms*vXGS*>MTt&zFxJc%FH+r<(CV9ryoRC(>>BlQ}z27anoG{w~RIMo3Zz_UvD z`q&-^Mwi&D=5k6?Xx_H8Iq(JSr)@GJ?hsgWhErLOx7$Ob;8?#!)M;~E1o{4;{DWj~ z`}~@eKQIGODl@Q;QMnk8h1(vJJXdOZHm240Kn;^YgMT&zj9NvnT2;tT!0gFd+Pw(a z>NZ-wvYB=di|@$;&oRd4UCMhK*ViXjj}VtF3q1*asQdK{H5ONQM*M8gIHj$g#|r&m z4!yE^P(P&7p~Sl2mq@nFV&sEzP8T+;*jg{gO%7m+0MLkD2?$x(k`Px1A1d1O#w#nYB*~))4z}rZ z$<}LnTibf{evLHQ?(JrD|J)-$n8FCR4y*-eW;82F1lYsjS0`arN430C(AXeAy$YcN z?#;HwEswa})->p!nB%20b?Wxy9y#&x0vu0sjGE8_Jd3^|N|_kq`*+Ri%RQJvsJp{N z(e&OX}XH5b^2cZNYTK~|G|}}6&GA1jf=q3PM^z&j3$0td!DS)z|`C5{5c@k zM!m}Mg{%>+)Cd0R9~?0$r20_WN%xU=l}RcpC73p9KO7R&+S|*`*OJNW()Zud>8k9b zNAiCPPWNmLVW@rMu-m_&*j?$JzN*P>!yt!pyg3a;BVkY(Goqt-(G;|z-aI@)N-EM+Z}o)P`c-9wrdtI zZa|<%M&M?!VHN13gpce!YHnJRo=szQDZrD*AwO$m@98AGRvbusM6&rAdGZ3mK8}ym z2eaE5`JrZWYYuA#samJ$qAm@f{7HZB4Xv>1aZwLj5+A%uzQ?9>A$ffqRaaspU4hh{ zHKmMLpMyQHrhAFkRzzanE7LIp7p*&)l#e>%W*d-4qu=Fb;!2G?`kLOAM~ldp?AEaM zXvjX~@AyL~5C!TA2jxd3SrA%ZnEL)IO`zBNqt(Z`sBF35_-{zs$cJbNsLj>*S3H4Q z`R9_g5J$5<(ax@Q;mVVYLsuyT04>~`SbSCLxr#Hvj#FK}dD9HK=6NRfiJp^n-Mgt| zXy0+1&A1eS5TOdpn$GBwv$H`td8brcd&;Z4S8}q+aYB|`9Ga<#b&`J&TauiY57ARW zHr5<3B0HkKcX5auks!W4JL$KX_!bct^h7N=@?w43S%E!1Nr0@X@lY1Zu75bT_X8 zgYqUg>)a1S#=LxwEY0?2<2v;UgXdcIhGIL%I0te87Ji{_;bPFPDWfp!t=N7ZUjC?H zoOc`Wh+}t3HRJ1XaJ*b2cL##TdqE3KL@0GCVN=;YgI5U^B)?PwIz$aRXI)=4jPO^C zGDuDtg-l*zz2J@*k)kYTKbC3~i1|>}9*yBC^m_DwL|^PWxt#?zuoR<<(<^(KprF+E z>|C#UvC8KNFdGxM6T=7GkvxN6Fr0sEGGcgaQk?2!pJDc1v)S*cMKgzKM=j()dyUDM z4w%R^qda+0*j`OTs6-wW{4Ij(*W_MCrZfOhx*JTS}*-q)8s4 z3@!IQSL7Dh$40^Rwp{6rYq=jr)ae`JWk{a#)>-GN#f9;+!D*Sj#;D;)FAq{BRq_{1 z&a7Aou92}`;SGrb{y!hX+$_~6Q(KFiqI6OMeKz#RW1IzcWIZw9nqDNb5_N9=ygv`e zGw#c6ee#<76NQj?hl@sTCC6V9)m9f0OehctJJObr;})F$YDCK{Z7hw-;80^$aMjZP z{CTkT>K7`SXd4b%z3rr(fOzcOYVE2cJ%s$ysXVie7Xmbe=h1XiE9+v>G+PHf(yasip2iS(q6NTUvUS{1L74OiS0C@Cxh?!RHIuBwg{9g zrlW)NUPwZkH3Vq5yrQD0`Vb|xWkEI$UXtA_rR=@7AeDO|szDBPE=1-BFF|6jl5Kfn zJbJIuiN(Pv-iH_%!^alw0gsc%n-<*@kFzp?TiquER*N4d*^dNwQqxqm1%QO?X~7yh zdgbhg2)`gdGTOHb1r}|*SS5Vb z-g33gX->GeYa`g&YJK58BO7FYFTL4xWE`!*2bTZ52P<6J$Igv3mjp?~Y{AaGmv*BT13YzuRXes< z(#qE!YHo$pfe^gPc5P%Go#seecvK#-BrbvLo`hL|S66LMwAbS!5*C!XaPMTOTEWwU zZ)VSIIQX-%DC+L)FhO=jvBe(0Ny?itC6jx6FL$IQ_|Avy<2T^;kgXaVY`J6^F;xm# z%qW7`2xl|GnMXEOZ=A=-jgRx>oV)0uYg7HBsVq(6ogd%rEggAayK-w<7A(B_FndJx zJ{O>g%0U^#tkHmzeepDLQbmOdmm%x2(9Z`KP_Ne9_$jD&?<2m8`_1-OG(Sw!fS)(4 zroaAkmlp({)LXBBXtPQ2{_$Ah}eETyr%f$oQ^T;$N5K161=t*iwe9$p=mVuz-px z>1yj;;+R(`TnWU;a-rZ*6Sx4vb_W$vCMO(4BiwU4qSvnLk~W{hh>kv1FA(&Fns&vb&n=BD&CW1o@Ir=xP#1FczBnnN za$s=$%V1Cr4R;ZCB$Gdho&jA~^jK*=vT7N|J8@^vCVvM4AW6HH{C4^X2NWMU(n$m> zvp`?psgIrk|JQ4D#~=P^gmcMZYPeX(GHyjN1Q~&NuVn&f!;bDZ^xTrMm)Jp zS(kBTR(JN)2P)%f<|T(UN$Q!5*pKD_L6i+aSG6jW0OtMJ+jubP*X9os*gH!uo6e_M2LAfiWZF9vv`$o z#b8*=Zq_6SH)$S6djdecd%0WIeS%q+88Ct@5kN1UWZy|$k$CUb9>%6dmh)^gFf|mps1eF`i z&)yn~kLo$7YANf6jM4wn2O=p`dxh_d*gyIQR3QiKh3n|*Ge=*mHQ!y zU3g05mYot^>C2}IirH^rE$i*{#YuAi^WsJSh)+Q8jRSUlU$;~lW4tu>bx2Vra1!&# zq`kW?Q1g;RiavARbeBBW+cvNi)4c}mAf^{q5KIsZ-rCT~JO3asyICIRl2fF2RhRa< zLL>1E(xCFLQvWSelr28*AFF$^_FAy@sIs*;u`{cJKx_T9zqnhz8CbQI|AlUgnt^;~ zeOo8gU41DlGlfSy6t=n87tiWU$hEp_HXfzJAa1{!{2_5McgmbGd@b?R@E0vqySFu~ zn3(W91P%`~nRppCxqVEaJSbq^r?4_mT;^qVYOIZ1Yook?tF_VYSdO_lsiiO1?~W59 zs%YZjR)G_@Wr)QAk9nWWv3(=WS_;XKI944kaI8^FZ2S6n#J$H*w&AipnXU1uWGGYR zq5{oabzUKpN^?w7CM^;ICpV&A^Z;42e(p464tJw_@VS-<$jg19RA3YQU#kvt&gp`W z-!!BjNE0%}%pN#E_0OeN{uCy1~57%Rs z{Xv1R=MfyUg2petl-?RWXN8~@RlY~mudOM0j z>=?S{sN7dm5(UZ>CcHYtZ+Pc)<{x#Hj}oWP`sk32T{jeVZg+8UlA7xN-1r{_1$y*) z7vdXfoqB_jKn}fD%Yb}X>Xi?GWY;T*8SXs+Iiquz;B4N0q_&nC8 z8G>cHjb|e>uUD%oJxb3h>9dWOHn)4Rw9lW9mS^=cX=3p>)3Qq$c$ z?zZ)l+436is1N@kO--D%mf87%8b{s!s$)1T~PzPqo7w|zWHrdFevhuPwM=0!=xEwhw0JviK@jn zeIkBC`QfPCMWjv_M1~@UKYGs<^#6jp8A?yWvjRW6wt|#`w=Et zblaGk>$bVx1yDcESz#XQ%j#kNR?}&D>PYGzmi(5SFX(Q@bCi&5Q;DDmHx%w_E_L3q z^#;ZjlW_uYr5i>joEZ#U=~G4mlrM(>VbWCpUoDVstmRE z1+zb^+jzlpK1}&HHllyV?&8+?RJ5}spwZ)hfm7Ge7qz?LvaK_v31(^Mi4|1|a8~n3 zC~PqDpL3gV5H*80Y@MiYJNt9fse8*}LYvJrz2{YkBMGgJkgEgvpp|&WTxVxy?`mtv))W4p?}x)Tbwi-_U_?CC}s(%Q8&o zSCg!6R=+9P*5c!sz8P=1;}Mfj4vh)r3BH-ENMtfkqN$wL4F?m`4Ho*3s0>UQVyVDA zpVjT*n#thRX^+50D3IRXh-5`!*0Jzq{NBFxqN;aC1R515p2y>LVoL?%j>Cag`XG2E zLu`1^Ef&XT%$zgp)spQNRm~S(;jGy(YmI@#v1A|$4gp*-3#Q++eGwN zS(dF^ZUKng{r|QLF9`XXG*r*b4pfnvE72LBjsF{x^br<)({n2n;GTEuw@-fKx1C{- zSsftC=0r_0j*w11Z?{H%SuP@FZ>Uph8DGZGgsj}NO%l%$Pkulz@2AM3OQ}{NB8m)l zYj01K6O8CoCg!-uNa>xQBSS{2n3de!Nf(3lgAf|-!aD31cwZcnAJ(%nWu^=Nu|r-e zOF%=u#iJN5C#L#EH>bxvyptS9(4UvyB0rOS@jdUx2e&rJtM98s$5c*NGgYZ7wOjGr zNQFpza~Y#abydi@#<+*?|D1m(HU7uDPA+e79Zzw}+dmRvd;7PRZfBvt&Dh)g`;5Ku z$A1$rm0gxDq%3KPI z%yJo~zd7S0g~rXdT>j~X10R2g@5e6{Y7=zxd?UKZ&~14Vc<(#qdUV^M5ziU{SERMf zbgyoR^0(XJGD6Bu&fr4PjaN)&E7?fwrP0WZ8Qw%`ej|5 zGzZN)UU~^D1dls!yqb%6v4~WL^mt_P&{PqSQIVti#1emL&|OA^o~TDj@t?8LaBQwD ze^WkuXv2N@*!V+iHajGj4EPtok*Kye!{X!07n$0#T&Ep7L*b@y(j)aF5YX@7U$+Hc@r0Q4Wcb%bBKZEHIN`A2`5j25u0LH6D{E}E8SCLq8*UjwLwM%PSO^y; zuj-qC!$)X%?FADc$ z9~{1RZbIi%weiNT_88z6Bg?3WgI_CxD zcONlBtqV$AqvHM@hnP0=n&HSrO4`PK2kP58CW(s&z(HU@_o&n3!_X&7dfqMsm7%Vu z;5YjE99Iq2l;r;gf8fxRBhA?!`R)azJ*yvaY>tLkCg?>J)6iY|3c*Q(p~+Zf^b|)tPAhxOBhA@!cYhS zzw`H~L)s_79E!Ff*{fAt+`=ew>-q?4a(@#(^B>7&K`gZp*TNX677Qr@pxvz?2*T6( zvaFqQ*B5(g$3e#GJm&pvvPfN)xO}0b^L!*O7`u-W$w1c!XZyOd=ci_B3eFbuE|nS| z1lN$UZgj>;{5o~3O&>C6!gYB4f_*ey>)#6g?QN8$yn?vnC%1k9t4;zsQnn$D)1j(Jc<7o5s{ZXU0#oW3gWjbdt?84eAD0F4a zArDze4$@yh_iK2}a7KGC+)mW$n9eUzBZ!bKYXcftHTGWaimH=VPvuB0`b`#gViKn7+Y0qMoifxo8g(Mer(&pWNdebsJ~oG_8}2Vypm0m zLLtz)!2@t`*}zJ48m13II0nC2JkwZ&^)4%FV9+~xn2s5})01<@p`p2rNY?!*6p@`G z>yoIU7%8*Bc8El9s|-P(ra-R(j7*@OEkr9#RaHN8mQ={`w5ZO)um-s&@CpW|&cs0OXXV7tS}*+q?e8xr-rsihjt z=LY_eBrAj z9BE84JZl4M0)}jw;y?*=9$JGcj$0*xt0x{lL*8DkW_@l1{`^*ZwaDM60ty*w<;Io{ zyTdpMXZ)=@1^S1}inMPMBR=H7mjH9&pyMOa)yeE|4p-{-4FpV$wTQI87c<*dfvlz| z<&6L@p3LbvC-1f%y%Oj7yU8`d7?sd<+(;5g%568{HVU#FMSR}|usYle z32OvNUNcm^KiNY`oFqpY(l{0}2ycqstx>fJg7#;E2b^G+F8HFYvJb{a( zn-N(n)!mr3`%Q{C@_7lz&XoA@{!$8gWATw)+HRs$41S;2Lw+#X2!iURN2H&ysR0UW zqn@d~i-B}E8xGa!@}pXiOUCu`Jx80+UnGuiCfP$QL&wrWvD!1GyF=h(f`r{PC+$&| z-OOC@_d8~qw^!pyA7t=-Lb4gZw#E45D%XE|!-x||@ctLL6B}fKGQ%Jcy(^Z{rets^ zNpOvLNQ;l*z2UPq6c_{Q3w&eaiN;!#khWJ4cDzS#Iv3Dffson1DwWzY{t`_LP@23+ z>6&$J?3GRa^nh(158*Q_)8(!9QXMm>KN%f>&B%JXvg!f@xB@i*U2lPszow- zffFyjbbpVgbG1OPby>3A&wY#+(nhE$t=lLonEcLBYAkIpKX9!JH#p_e=PP;}XgIbr z<~AR8evhmz@~fw8lpcNhPAF%+X*Gpm^Y(g|V&fII4&>vf*6J!>ayoJ6AKr%k>DAIx z*x_I+1v8NT#i{l_zZW=aOv+kKV(Jz6c173^bCiXr$**c6@Z>C6aS*pfHQSIlmXqf93pqr2|JULum(hY> zU1NX*`KxEnqT9$fow3<2bXcp}O!VcUjoGpeljdH3(s@)rm)?WWJuda?)_DQd65Lo8 z8~R-3i@xCxmNih~TWj*}>pJBl5b%um2*CJ*D)idnd*vp5vm~51JAm5yeBaYCku#!7#uF*Z%~cr-Gx3*sr)upr z%s9z*0#OHv?rcg~eaKo(4S0P%&UQ#L!53N_780*qfzI_Qa(s)xN4%r~nG) zB-Ie!elx<;c2*Omp3TS+kDg+^yj!Z2nQ5Z% ziS=&kz)Lza1x3vFH~bm=PyX!Yq+brTV58+1fnYq~m!H^)C%29m?WXj#1Tw|?8uQ_@ zP`%cbQ*+dyqcFe_Zf>8{id8je2*x{#>rWjlzHyRuB*<|Rxr^MRc8e)EWnHv4G|HI2 zV|tp4mE$D-kdW~pM&bsQ9O3lgW_6T7DII*h@%!VOs#QJ^88MaZ{uiJfUA?^OX$7GPw`e1xBMK!kp-ioRX*R1-mZEh)q{ru1!T4SsX>hXwB7X zOWZBaB>IfXeQab5X@tQaaOF&BEb$i{-Q)?!k};K!NT`ec0y?=#EnK9Fk&rQUQIk`# zxYp)dq+~}hWD>y_zN5bV`<(9> z$ceKeP56x!9MuuODDXwIQ$V$W+ zxCIu`KI$+v9qnyNzy_==5c(%_TGGAk6ElgFwa27|CQ?Bs?a~+qMi)e(DUH&N?SW#w znkJTHbUEEm2Wxa+C&u(fWg=g5Kpk*n!T1yy#X)+Slb7{8M_fsj zqK^&Qi8TQ%FvedQ;>>AT#Oj?n0m(QmculyztS1tvyLXb>=|&`~yp6MD5JwRX{=`Cj3zy6W2`k55!VF8H`SUN3q#>LP%S zU#lN9BiiNnx=*$=5+`lpe;eLd5EPf3+}&iZ5XG}qj77CL#mx~LBVjp0-UF9Kil zBs`X>@04olnC(pwp1&VtkLE(bY%9;1kuVHNV~k7zgFcBJ^6O_imgNyyY}GapOBoaa zf7|x(@+1gpO-G%`(aHID{!Ib#2@(N9G%YNxV$X-o{`xZM)%%($4eMOZ!-if7?DP)9 zWJ#ijs$QMO!nk>pce4K^Z(D(a&BV){zbN-}L~DKr z)+^OTjW>D_&rpPBS}749V&IvN94$@gVSSHI{2jvJz&ARX6;#2AZbb!jS|E2~aG`V(kuBBU(Vqx`eq#Bb5CMwmU&$CK7voU_ ziEt!ZP`7jJGR}~t`_fP@?wwwblD4q11NHee%hDo0wKssV9F#Pe72$LeZI|hhPTW3= zrTN&F8c<4uzD$5Fw#JM6WJcz99Kk9k3Hi}GB)L1fj#SKdPrJnkM5?v0JR8?PXuP?5 z;hWI+<#&RE8=1T1R8b)LPamJU$d{EEOXVO3=Oq%4It;LDgUT)^|GJ}}ZzQ}XA)4=1$X5?dcx8|tO8c}X{C!2)uB;mt*xOns)%p#7s3LoVkwEb;arIC!)WK5z(RiG zSI`};U{9)F9H~CCk&c(SbeUb0*h!}u5+tH`^l;(VsV!4t%i)$A=tQ86CS68e-*5ql z*|x6N9(V)LoNxrdtDX2M{=xIOF^&%k*(BkbYwJneyUN*^da({F##jveH zGzm(@XtVQsN%X|f_mP2rVhg;wBd|a3vBZ>Z{bWKCY>K9=5sC3#1NYADj;+-SfiQXu z%MaDTdA^+IPc5Np4yutqqWlI-$=KFhVnlZq7XyuBY+*3FAh4^~WpB_5%w;B~%R%Y1r_T&A4*d3(3(=nuXbY(RARHv{nxRw$>#Y z4yHiuQ-Z$mFyl#rNTd&PGDV5(G<vIjX0|Nsc=Cp+&R}+Lj-iU3r zS}C%!`jYoKkFYwdL&?2Ff@#cS!94aEi7k#H|%jEkZ6lE+C6OH=h=-lYJt0hPxcrxN-bY z5UFkP(C1hRKV@WkPX1f1YVjWjDE^nwPECi9ILXfud{0S%>X^UEh#cV#EcjERI-M1Dn@H9C?kC$Q^3B^HH(x2oc#Je=VBLO~j(0QlH4Tp(oN)tLi>%!S zb86|UPcMW5xb9$XIBk(Bk*lc?H6&MCPYD{Y-eh1;h#)O5$2REJzI1|b(q@_MHPoD0R$$(pQi|G9vP$%*$G! z`d%z9AAbb)Rb^+r+c&H<%@)_sh_Klz7=@|_C)a4$`D9Q zW%I8RvJU5OK+0PvUea*gSC`K#SY> z*3);A4P(r5(hg#V@(UW~Kp(orfk%eTKjWVlWR0Le?$pQ&(UF=+;gOYl*!zB7%X z-cr;Ei@2G$t$?`2@y7nqGNgFJWb6Oxk$qhuN;7jyV~4%?dxWa%rjKqdROS1lqCtia z4~HKPPAQ_e$cLxO$ML7~jXd!tMHU>rNu`fo6LoB_W?k4a$0N1wg%yTX5cMk-gWvVL z^d7w%xE!(W@e%;eL9>vpQ4z71l$2il9pdFV6Ut!`aU=OTzh}2^FV5y-_er?fNP08~ z3ICVevtQ8)pf3KOlh%x^YtT$0R0ON_2az6j`0ONJ$+JY5W$A>R{^7=kFLu5Jlt_>Ft{~zWj&cD*rW-Up3I9K*2>& zg5>q4A9Wrtb})mhGfVM>cNkAsz1e zjh_ zc3QgO`ULaAH~EcaV=vB>-bf!xX66oYyB?&jTw)3f)6!@p=3Y|WJ`R+q(QzB6J==(d z?o6x5nJN#WQ5Qv2AoM7W;-(;H|JNq-por{XfvSDu9=)&PVTM9d0%Z|$&v_X9*t}RC znQcFO|4)jc9iF;1q|{c2NkI2MwBCPCZ_O?g;Y9pY#NJ_NcD^7>7;_=#Tf1+E7E{{6 z7|%pl-?NhaSIzf}&Q#%lA>GGb!QPfOoKLkCW6KK@)}s)x(ft*?>e(v2W~jtxURf~e zu;l7Jj~Sd$76H!@FaO};Ygf*}!fcwk7>8_S&-{I9Mmt%gT8HerEYg+?RY8I*iO5_f z9gh)Phtg}o@oHc{ zw&edvl|@uJ`D(cTvxUzwiep0``q-JA!Vjlrq>lY&39M)^_N5Iui|_!cL)?mx9YHaX zhw8&=H!F~liKILfW^bUek)Mls<((Z}t!sB;U+B&yCbUHTy~&yzfA!Aizjtoy8>gHZ z=4>t|HKJRgb04_B1p!S#9wF=T(B< zd%f5CAMPtP6Ti%@d;Wc|n^-SKRCEASLy1+idr~HYnTdzG_Tg36;Bc$fcYBU*b1N*X zqom6Fd*YRK*cL`SbbPS);=6IvxwQ(?O~lMMRCCWC!QsaRWw_4{dU2P@ zvN^5&EH$?;4lN!EZ!-C8C6gq~v3tC58FAR%qb?4MV(9I(hC{nf1sSyBy{2S6?K?Ju z${hN7$GR|jQH}L?h?f(Pv(Qtvb>cg5&?il^&33nOd0bD>uN$&gFuArfX(D1<0b#YZ zylQ#bV-!!;K4$}K0El&IzyOgNLlYZcqL|ZeYckJR48dT%u-Dm`3fJP1=Tx%#ZhyX( z2eg$H*%%1^v?0vl*!Ce0HVMG<^5?EIoL^)MidP! zsb&B#G8?_GNVksHdz*{f1~5QJC&9e5NmD*w<-WgbP^7Mww>&Y5Y|fqX0?zuhTUS75 zJ>8bYrHEvlGLVs;c$SAF>3WM6u)3#A9nE{(zr%b|f88@D$5*ce-|DGhhig;TvvH)j z7;V?vsE;b=s~??~O>;JFF|f$K?x#7huBDXYtD_%bD=0q%iq`DbwoxiS|>NXdUS7=m(G*nTquEpxN^WD zM|OsR<6<+0wi@=Og14MK<-bys&If zpqwYe0Rt~(7;huDX9B9prXBSaUwZr|g z$5yPALQPp5hSjg501lvT6K_tAzHF0+n4Si+4uflmC4rQ|Jg2Jmn#rMXzA^LUJ2q$j zJs0yw@!k`N8dt>7TKP~h*JcZg{mCo%@P$^T1{{!huJa(bvX*SbyfOizTKplR-Z|$B zu4l6g__P_2GUL*cLeodrU9n~Yn=YX5+vYhQ*KmIzDX*Q#!tZ52dk_t>c3dIgHrQG} zcev;rThUZ=-X^|>!XWP6Fc~g)XPa$36T>qE!E!vc3l|OAF?F$SuEz07=QV|Yk%-Xr zayH<%UmmcwxWk>1kc9?cS!loajVqb`AliCei)zC$*BG(bcM$BO3-4UAW7{9h7$p zW2++xtpLxkb}|ViAI)*(kL1+WM#@}JQBYd z$++SIE!1OlX;1AMJ6w_)|aJpO`GvJm$W^rA1&m+m2+>K>I zw`Pvr#D#Yn%8W-`I7$`Sf{Ghx(TIp+CQLjS8#XrBd0CF;8_Hbw&=G5uV}>V9Qw*pw zuM_QTa1}1<&`{*@7YRP0UDYqE)mRNA*IYv9GOg!zaCxkSpq#MJn>7w8=qyFinWe>6 z@5jbYB&Z7}c~#X?0YhTC8>uan@SA^Y;>10RJloJM0fcI!gAKq!8Owf6`8r_wj z*(jG-)7=*r8KY7(v4HNWQ!9cW;^PM^IYIB$+c}qyne`H;uQ~J6vY+am-Fh&uBAay2 z@>i@J4+)sAo&~Jsq+?y<1q#OJ;a-9e{@_DpvyKA@@AzFT#7iFAc#uHH_{&-O+%YZ6 zM|U&idRza`6t#=b^>ly!d-vR_D-)T`ews$h*D7?2-=BN5{Lb9p|H96m*x3H8gZX&g zTxO;KodKYiHy>qisUBG+Z^Z#oO?oauKyMESVSURj~N3P3i&=5eR;Fpn{S?pD!c!zNh&Y* zUUr;WdM9{h^->B3W=Y; ze!g{bv@Bx-Q)h95)XmZ}OU_6cue|%*{OjpCht+Deif`9*GTiN%Ey2jJK;V%K0|Qs! zWQ+A{vVA9QS+nw5k|hJfik0gwtv20NwC~^I<*#3(6+2($k36ic0F{bEv#l~H`cKO-9rd-Zmc{$U;P{~^&X4ce>-n> zUCoJQ^7ZpTb+1%*-n;p=Zap6N_tjor?B4(7?QQelJrWb2{rhYFdskcT7JCMU7h$tz z|6abc^0VQ;pmlSY85|VNDxdzD9xl6e?RQ27hS=LZ|ErIB=ZHMl4%ewa+RenkF!%X3 zF<>q0;ylS_Tajzt&zrrstM!3Vwf3s&%Dnf!3=9k>|1&?C^~2D@;_9)qW=pUXO@ GgeCy`$EC#p diff --git a/doc/install-guide/figures/debconf-screenshots/keystone_1_admin_token.png b/doc/install-guide/figures/debconf-screenshots/keystone_1_admin_token.png deleted file mode 100644 index 2787743491b73b8738753369bc224bbb9e608e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10553 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 diff --git a/doc/install-guide/figures/debconf-screenshots/keystone_3_admin_user_name.png b/doc/install-guide/figures/debconf-screenshots/keystone_3_admin_user_name.png deleted file mode 100644 index f13e0c00186e8ba82e85b2a931e879937f333a18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10015 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 diff --git a/doc/install-guide/figures/debconf-screenshots/keystone_5_admin_user_pass.png b/doc/install-guide/figures/debconf-screenshots/keystone_5_admin_user_pass.png deleted file mode 100644 index 845b50b431218e9ee4312d9ebdaa22e8b3c7cc9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10657 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 D!F?tj diff --git a/doc/install-guide/figures/debconf-screenshots/neutron_1_plugin_selection.png b/doc/install-guide/figures/debconf-screenshots/neutron_1_plugin_selection.png deleted file mode 100644 index 27b5e75835a5405a33418afa28816baed1382016..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49734 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

    CfhaB3p6yfmeet&_E0z$ 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 S0T;Xi0B@y~fHe|^LH`HLQL(Q8 diff --git a/doc/install-guide/figures/debconf-screenshots/rabbitmq-host.png b/doc/install-guide/figures/debconf-screenshots/rabbitmq-host.png deleted file mode 100644 index 5ca93ae633bfe200b8b0fae3203e4e016aaef08a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15914 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 Yvlj+wRpIckEdU@UB=xCCKer{r~^~ diff --git a/doc/install-guide/figures/debconf-screenshots/rabbitmq-password.png b/doc/install-guide/figures/debconf-screenshots/rabbitmq-password.png deleted file mode 100644 index 94415062f7bbc550c3cf96695075e5b52d30f628..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18190 zcmc({byyo)zxPd*O(~_6;?|G(`+O#5a;dtP+!j*0>YQmAYm+W#8W&&*CMO zD%EN!lWN}IeOMVx9z19;$VeckG@bnUv&ZZ-v`6dVr*D)Ye31gcfoISp8QMV|5Vp#n4S zI2M~7#^%6Itu-f7CQBl8tY*`+BSO|JasMvK&r>GL&u<7BiNM22$|Sh0M~EfqGOf?K zTFjHQwo0kuR0>5S%or3;ycqF=6XZqTxERzYlM|K}uTv$Z^khBHm^o*3UpdG@Lw!qM zE85QPF`De)C=Q{qZx=BeN$;zWJbmkXAm&o24S%YD@92hOU7*+b4_Uog2l3xxW4UG(CJ&jZ*6kX}9lf z1gc0D%1hRHd{``Kt9KurW`44z>fRw7G70dQ6>zAUCw&9g2QGapWgfOy)auJ(E<1z6 ztg+1@oYRdTbk5XEt5=`xiA(2BItw_v&`{Cz%u6bL1ro=M8@ozOh3ERg+?xD{N`%a3 zM~rKxzqin=c~_mbMIBQ{e=^+Hk*$>1=U8HZQ6;=?PDGawXD~#woY1k=c5c5cF}gL% zd!`sN7Jiw@1u1qa;Xpbo1S|G zrh05;bJKsl zD?(!*`>n!)YF8{PM;MrQ#w;;&L8}3W*YVr&9b~!G!Q{JQeg+B;Zs#8aEA8^#mmys# z3|m#s3p*@3NJz|?o}POfkC*0HzZEd3g&t5B827H4 z$l!P5rtez;l$eu5!XokxoP1POXpo7!4(0tOZxte`UshQZy0aZwH!EgU{yb=TEG8uJ z>KIUX)H-}oM)rEC7JqIKoevq`+_cJ>B|7|-{q_JM4LNN1V6)bmM~3yH_CA9C`vR|P zk6~hb=LQwShK{_odvlb4zd$P@qHn%qA=S+?)m@4JUfDU=Vz6Z)GE0`?zImH_E`&47 zY-zsNaKEfHORd#xH{>WWkkUu8Z}Q*^!-wW7gzC|Bv5+{N`DNLh9rhkH@BR2j|9G+piv*H7_h%T#0zrD~Fie*z)2>p=rt%%s|0IismU~3{2L0?pXtL z!hDCfqDO3#*jKGt`$2CivkV)TQ?Q#Z`nOi#=5wDE@bB7HnV3F}2ZVRUeuQE(x8COS zb0qXxXY^EX`2qt+64*h!8GHmj@9)EcLM(b#3OPO0)%L;Nb+D&|GWo-$MQg{Uvc_BP?%auvNo;41L_1x+Tz6tQ zMon47c7rC6`O^`c>^D^6P|Gd{$r30wCMTil%m*%7LCs;CNB5|BUs(rKIG=hSkuD7h z5Oe0%VH>o(+KpMGi69e>6|WID^i&46{e{jLg;&(g2DIro<+>5jksHC9*dDHFvkpHy zv6xZmZ)8BKdzNl30@<8MAyaXKXy>T?pDV5ycj^rGx}fn$z>ab;;O3%Ix@5lhL*E_Q zj5xN^+7(D3Gco3YQz|u!QdSi`5A*Y0GLtxeMfz$k_=00DETmSTh>iVSHtSM1;KRau z0R<&rsZEL?iDk*RfW_w-q3R3DZVM6Op{PD0X5xSc4o<{7jJ|zuiojP~0^qq7^Xlm( zEne|Z(PUi1Y}AN8kmDK1Jpa`!4>ny+Z1*2UY`*hW^4(>jC2k2rInpNIs@X}YSuk2S znTs47fOnB#AD0S%E3WHyOxWJ6-6B(UQTL0bIGvn@FmkJPBSkIwV%YHK#Ha|Zo!bEi zT0W-}5Piv+0IJb33dL8V6p!BK$zPMmFMh2skv2mw)6@7yh-N}PCvL2ul+n8Dw|J1` z4Qx_{Bvy6ec@4e=L*1LjmFzYu-}@$VyVbB?@iYyc*_Hska_Ez^VD3 zD66+$*bKoE*fT1qcj0~lVy-b!jB9o&gfSX{WL0V4*C=GEXF{Aok@uhKhrrrSkR*z@ zf|Zi*P3$r7i_uD#lVygl9zhhZSb^&Jd*G69kPthrH`WziYq2Y<6R)bm!WPSN2UG9i zKP_&*VRkECF$iEkPUzofc6lnLEozGQ9cPk0gRVtQ-F@qxS&4|jJfMHXBv(Xmm>q_s z=d=*iP(Pc*U_NlbD~XEk7b&dvGYPy~U8crRpLh;ipI0dhWq9#GRu&bjSlb0W0!mv) z|9ZP)Is^-Zri8i9^Dl0Femmj3S+=MLU4iiB@NwCMV=YLL@=>fCaTbQu`kK-KUDdlt zDv>#Ykl5_LZt0Ak_GY);Szh7CfrC~ziTt9j$aM1uep7CVh#HiDJ@>C3SajE_w>i`r zDK_&%T&T=TKYdkMs6i&femk(iV_eTDI;*W$S7k~ngr#f4Vy_ZY&A^{*?ZR!j_dze9 z@!*D6rbcfJh)#N~6D*Zgb;B?uN9Om;DL>6h;vr%}Fa+2qngU6Pn^_cxc9~${x z7yq7?oqngZ3V!c95(aIjofp))L> ziNBS~qCX*1$Esq)j2!aq_clb60^8dRB?_foO3vP9$7Xd|us`plKBPMK;pOma94*Ee z&miA9%>p@Cuee;i+;X0b#?m@iOn=$$o(Hv_kI*b?EOn0y;l%l$KJrddqf(*!9b zfeYQjNQ$r)IPOriiZZRnS%imSrTqy*74P1o6-#8RS>m3qbAeo_di7WBt^;J};pT6B zRxwsqqb_dM^m>di2bNb)Ru;aNy)nu!)s$ZdVDAiP$>c2@UEiyl+~=&S8CXq$&cvCb zd`@P;lma|ax1@v+`$SbE(fuQ;0^MKZm4($zcR{yl#iHiPuDW)1mpfqYEyFNro!Z8f zGx9_FD!xwX37P;_t(;;83Uyk`;Wq204e{_ewRg@OP`~BIMAXlO6PaFsT9nObm-p*5 z*=_UoDK#+V6Pv3~WH2J2g}X)MT*~{9icsn0)Xv#Ke;*NmL+Cw*Lr#)?iYitQu|S9W z!X{vG+h@4eB4F};YT7&J(7Fa1RXtuzNj;4=WXQDaNFXiLtre+YBd&Ti�H2qI@BS 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 !aQria9Yuv}awb$}@iB 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∾SA3tU?ITp;dtoe0P==;WI{6MW?0%EX6#mz(b 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 OCk9VfKbLh*2~7aDvwraa diff --git a/doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_admin_password.png b/doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_admin_password.png deleted file mode 100644 index e775f69bf34d2aadb08bf81cc8bcacd5aeb84ce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8446 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 Se~w!OKwViI2zh25_J074(HN@$ diff --git a/doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png b/doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png deleted file mode 100644 index a889bd87200aa0e994205eaf981e2f4dac222a8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8497 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 diff --git a/doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png b/doc/install-guide/figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png deleted file mode 100644 index 472b73bf413f22b9113d8303d9c1f148c075ec5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18487 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 ZOYFhKtdm(t&4e2lpdbeUm&?8n`ad7w&7A-M diff --git a/doc/install-guide/figures/installguide_arch-neutron.png b/doc/install-guide/figures/installguide_arch-neutron.png deleted file mode 100644 index 68332ec2794830d62613a8e3f6af000c563a28da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59382 zcma&O1yok+_ce;5$Wc%Pq@_hrLK;a4LAsIdk_PD(q)WP_rAt6STBKh}q+39`y9Dlf zJ-`3&`|kbjxZ|EP&hR|~dq4Zx&suA)Ip-osPDTv#HqmVq6ckMHS0V~1DA)7gKOA&4 z_?zy^tu^=qO1mz0(Z+b&+GztniinxfNlJm!n6gP|HQJ1Tx1NN%7ZwAkz#sqQW zmGqNr*U%kQ?6fL%k3|33QgR+f8}X&*q`37ZpZ05#yatwv>_7S^@kt*8^z}nJg*5da zCHbd_l~u||^pa;v7IHhjsim2%RmbUwf23wrWf$2yOE&SGf4lowG}wus?8WC(?LL>8 zV~@V){VsiP`vkYHzB+EIZzYyhZ==2-q2ie5{*#&#+>_exiNVngSVs^8a zN7Zi!2M25Hgb(R1V)r8s5-*8XWhK)XYBU*-5l>5X*GG!E9M*6Ns%JfU=<)8L`;f0C zYBB~m&A0?yX;)i441dVu&u%^v^GKjTHpousOo|QL^~|CMdGkmy(q?PVePZ5|U%n^j zO;>L2M-^#pJ~!_a(6R_(iL53hCJM47wq9PG+b;DG@*eyUK51j}e5YYmll|#bN>wHnnT4g!u9~XyrSq+a-{yX{=^@mr~ z5>YCWk|FdAi`xp#Ghsw-M;mlqbrRIrrf=Rf4-E}{9Hb0XkiR?4Wb{xDoq>VD`Dolk zT1O|y?w;IuDRr#bGD18bAvK8PUA+QK&ZPX1 zPy`20>Fbi)9*$4WE5$N4Nz$(#CXyCvwe-EI^fI25t2A)6G%Y*(S+q$c-CKyNUq%31 z;@P{e|4xP)yB;4AUj60EizsT|!y&~#wGVk5ZC-l9&KfnTUBel~GP>_(YrH==KW>uN z*649==u%`TsmhHetM$gO*Kb&0DMt0<0=!f_WC7G}B0?|x!4 zv-9o853KD)zO$7q6kP-gE^)fh-k|<$qX&zcYQ{{pb(&S9CZ?5q~);RsYyvf zTqNytEdi&eM@Np%ys4SL9|ub4eL8^q5zRNA?-B@4D$CONnOztYNAgHz& zSBUv@L!R!yo{Uz;TJ5>+A|=UPgYGy6SVhc3{BAjBhx=4`A;`n(5>|X)v|q-ki8-Or zld$qJVjpo=JtIa!C#hH~i{g?y9nNnQ^#czt3N%wXTDB%3qI4nW`Jl(24La@)3S(zZ znK3_CkCF8Bp~YjZ)ybQ2&7(QZBCgR;-=;ckTt&e1C!jUOU7`PBR95Jiha}8{}jl4gX?e*oplolLWUcCgk z@jDk8KGJ)Rn-j5|&qX7Ix*HT2pPUajTktrY?CAA6X|GpI{d?O1EU$;irRm$*DGXM6 zuKb|*Qdx=IBvW(q?)67>0kaY}_dnq#r`e5tCUI`i-k7Y8=s+;ng#I2O>ciU3e-C?3 zZ&rH`x3s#5G>ST?<2Fl{16)gGW?7vxus{9v@#=K$5%R6$S8Qs!xw&;6NQU4%mg)2) z<8j2Ww6si`c}2xXTiM7aStp8S_VC;F7^jV~$Wil&DobLT$B%b=So={D9Ih(HokAhn zzAfzHYMS<9-0ER(%E-v5Cyar-CnzcT2G7Xq&6{@}3v*?5#*6T=D>_ViBJUG&b?UYE z5=J%3?&>Z+C%L~8>2LSU*5iWGs*pEp8iUN@|_JA zJuwCBK(vcn<%r3HZdtm+Y_$n?qWMysiOEUkLodnKfrz1z5gNq=IJw%Lgb-FYnK0*e zoj+U8^0(?UPtR4>EOnG9w%5g!Vomkv~l z@9sGB!q=xzbgv3}TbY!#T2uA`!O&lfadEk-fuxDqsT9r-DZ*d z=kKS$Bp(c=|Cb-^eDUZBVrU2#Qm)Fu1-zHJI>W%L$LN{-3Fc6P`uWf4p|UDQ)}v?Q z_GG(LV+Yl1eO)7DkqZjOzU`;vl)~Iy^LF`U>*4&>KR$W)meg%1? zzhpSb{X+cdTnheSaX5TizrI2CH+Rxjv z&+sKQq@3k>+k(jcvr)(5e~a$CKV98res1b~hVjM>oMg!T$gE=j19An+_i*OEG=X~& z9jK+F$)locU1;9KO+g~pA$>nt&?w@Cmu-l|L~xqxcX**NK<;dXHwt;gFC&9uoU{$T z!sWO@fU@ILG>r0jA2BP-cZiEZkmGgv$Aw?>@#SohCOw%Cd2mZ!Xfi_xM%>8IP>hAD z;&>pwV*5DrK=&aaH2l-wB7Cgzj+=i@_mRnYHN0aXQj5tBE`iKF@Oh6K2;HZ_OyO15gwMm)e)|v zb`87qb+<+kwKy-sk(VPBwR6K3@=Oy^X+|IN+hV22#hHbzAQwk_*&2j%a~RXiuB<*m zUdZ9aTb5Br=_qO_eY>;By^dqhFl>5hokuN>tO0C;I4Mst@PaAh?y)Y4CzjB@rh0+) zq*tcT#dR!wVz_WK{}{~RW^3LM#0}6U zjd;jIvya`T&%E{SNzRtua?9K^?4TR|{{C1YZNZ*anVyN}bvdC1smKi~;KIKymsW3H zm4e$Hkhn*U9nwbht01B+EoDBU`W?#O=2*Q?9(eg7vR`EIJ(P@Y63CGU{^%r;s@|K?toW6|>E`;Z8v zUgg1k*M>j!3EM$9kDY0QRrzmQRuGk?P@%^D3KX3Awox=;!xfss<7C%{Z-TWoQ5n)P zpZ7os?*#KVaUo*8_Y>1ykIz?tmY|$Ub4V%_IS>7&M9;JdMSM*x?<_F@NCJs+{KxMM z;Q+%XSWApc<(DrI0KWin+!WxHpY5sCLjAoNH|C;nj@d($f;bRazP<1tXyx1?)zh8F z8^mVDBZl^b!nfDau#8dvT~bm~R9nlG*VTo4o}ilCwNo3?rxq3*jT48itLD-lt{Xq* zhs@xaMlD`G7b$v&MAb3` zX?foeY{jo#XL50D+0u%N=-du&iTOa^j)ix_X37j?u8ZQIxTUOkz$R2)zvq@?P{WO%*#|?9MZ|Zd6j1F%jb5qv-l}+Uhhnb^xuRU_}p%5>Uq)! z4IxOTfAekvRT!6ie$t0`5?D6`v2HMn4b2M&%~SlZbp1cy`2R0K|9|FkRk;<+?WQaK zaFXXfSz;0M5TD2{rkes^5bHff^|T`~|6#tY9+Z}`Mh_n7Vl*uyZ~Lq%3cW}6PfG>; zcqlcGB;$TTF7?OPsdv85>RUe--1?enResr}<&HTCsf2tE@a z9PB7+WO@k{&0^nn$vlgZ^Zn1lb1IiRBdJa{t-V5cw(D^oK79D~e5+3URH|IB1Ebn29Fn^k4MkW;UCm*Gg^10%o>?HQPqwO#EGim;$F+qMle#O zhFU!tR#sN_MEteD4>#&B2?AdH&?MPxj4}T?=@2M6jSNy4&gJ9dGqtvU%~$PqY^7Oa zm%Z|3n06TbdYI3O@Y%KU*s-SWb1{ z6Cbx`H^PZ1RxP`Je!Sh$?0d^7wFg3ap(6s-JKvmun8V^ngR#9mE|f&l2r)+;FE0UV z@$b>H{E3fQ&lz$GRlH+j?{|w8Qa<_3cm3N^Z?chHvI|G{$Bm0;i9?MMENLQ?6s$2} zzjbFNKaD*7sBSo1pp4=zMWbjW9!h8Afk0$*!Vi^sU0p_TuD!LiS94KVbCQ+4Cn_e^ zt^b}j-@zb4@XQ_Or->zzTADO*-e`$d3(y3emO3}YB1jk8)$@7X^)qz+e(x=Imka6J zhpEpIJ$%?U?KH~}{dO=%x?D&%r-O#bA(_)U?gGtB;IwXvk6On2TZ{Y*Actw=_Qp-%gd1-?`Yy>fa!ja~n@s3_kz03Y*-RA3>b&kao znFI=3X9p*{3jo}lS26wP!4fg2 z>B>K6lYk#Qm@7*KtqFutxsSemFJuR!QIub){m#67m?iPruKBd5V;8wHDLx$w%>~MZ zUn56mX2N}M-P>E2h3kn>W<0NNDPcY*BKqe>LZYLPzDapnzuK>2 zqu3ZIFr)}AD)J{M$)lk>mQ5XEms3+0-Ht3~u~{3U8*kVc=dc+2wvV@H*kJFd{q!N4 zTZH;{F4l8+(OtBUB--H=?DO)#iAJ$sz%4EuMLoU^xP4=$A^A!r+yZy4my?K3E^8=@95Ik0B!;}% z5xGaBc*Qy^VV;p_u^8p|djF>?MR|d?rXr8x%$~GUX>__7;w~ieyX;Y)ou4yvaKz#J zr~9o~sE!^>ao(+5zn_ZJ_$4U#QOy z^jDTbXYSF)qb4kJ-8~SeO4A2sqs$`rvf`TaF!1mjJT^!h%)Q5hU##{T^5yB*mm14I z#qw@6sr+!mSkM&dN|T-r$F54qedy{TTfP>0mFBz0n5Y{+~d2KBkv^ z@|*HlMAz~?UZo`~rggn2MxmE6>P=!VPo-Et4BB!PkNW&(kj6@t|MFy^;0>~+E38-vTrn1!FK6syNNr5@UMkBgHNrHyL4g1$VRxa!ANW~v=A?52oC^D*XK&-+;esO%EYZ)XOK|Gm$>|Gbk&Pr^rj1eU+RxuF+2Qe;vV zS!1_&+xlbczEyQHr>TWVTM_51>A{OIb>f>D_diVd9z0Jo9ya+e-cXyqqoJ;j%u*J! zjSVbO_X`Nx8WI|ECh~e~i;P@?&VE6W19lbY!I&*5y#MVG_pASQh_nwr^@~u+=kZ71 zs_c_vd?UZXKJ4#b`M2x)k;zNEjE#gKK+#724;&F3!ZjkE_X7IzgG{dN-1nP6&n~pw z6QF;sB0{M8#q@q0y_(N(;p-Nw>V**v>*A_cHwDjL&kogH-oKH7Ioy9JoxQePPLLPR zs3k-h>D|5feNa{)42Uv%jjAFNwfjc%P*6`Uw!I==kbA4r`}ccY?&pjo7T$bywU*{O z(qw0IapquHp{7}D{|~Y{^z=wozNEaZ+w5~wwbq^v4xHb}h)PfLXuWT|lEA1yY(bi& zRl0VA>jS376G{NvJH6JP6+>M(4}Le_B5TEO+_{Ny@7}^{Zknix$>TUiEp^K>dx{Hl zk~R4&L^D7GUwj?+`$*2aUYm*3`Pa26$4Sd!ybxM%r&$ktrlvnEscu`(|7&~jq zg1qe6Ycu|nU#Lhi{8KfXUbMBq1_yu`SBcYgbFYkTMW9j0%ajs^pn zFX1Mca1-a43QxvUt`;D#cgGAOV!72a5xfx3U!8aLE8CvEKPY9+$G>>WzG_c&Jmbc6 zxu^pvXb??z?z9EklE$oOAb5&Q*J1UKXd|F>gkm~KWct^iy$kRMO;W~c-AeuNqo zW?(4Aci#+Yi#mS265vpy8Q7+uQwoPYuw%h5SW@YJ4zbxYJ~Or;rB&5WexgF#L2~_|Bnkz##@EM>XyubME(wqF%B8C+X4N{ zg;mb)U$hYBNlaOBUVn$;9}sZLoRdCJ#;T;rh#%GUNlNXo#Ke$=P`NZ_prKh;Zgldg zt6$d#T88QAX+W^$24$)k@UdXj+~ZDzb)HjSs5YJ3iA3p$=3!Q0;hio+g}78&*62|S z{*A=eVC{A7;`%@Y4*Ct7U*E2^tRFOHt6JA;GM02pJs#WEeU^|b+_n~|FxzUbn(BI3 zD1S;x6p@-rdgJ=FuhUlJyYRU0g(wok^Hv`XK9^_m;7^kpjqxu@Vk}58`D~tuA(1R1 zStXh^hpB|Jvaun;lK4B=q+;B#;c@9`NO<^Nly9xAH$KWdhUXL&6~!nuIl1uk+Fw}bE4JQ zHhn>ItQU;&!W_wdv)i1H6e&cqjKP-S+{1r`ffkXY|X54B*q;}5W8|~5nA>?gKBqfCLKdfh(QW0brN3(@k{=h|h zqWBeHx2_|>s|`K}2Zz-e>m}E+$nEuY)Mw`DxKa2|$v0*US-J)lawKEWN=KjWA8?U` z*PGuy#hd3;%H++>CEj%=k;#o-HmFp;kA5RKO8iq+mhec(JwKr-8{NQm)WRPxQFRRs zZ*&>5Fp(wq((FqmM9Oz-NGqj6p_OJb%QzdEm@?ZW<3sXd6ThF?eepvRkHKqFPsGG96}jv(Z~lWz$=PWaTN}! z(XQd~Ut#`HJG$xEvT9#&ce~szR`?s-zCWEjxWlS?|ClhOO}Bb-zhvMXFYRn7m#ryd z=JlJbu2cc1JpRg4oeB`$hkDcB4zy}$qIDl%^1yDH+ zk`{JPJ{~CCVJFT=_>z>bZRv~}E3HIGLh`$#HR7o_HW}m3HNM0eZIaZ(Q+HTVxgKMs zTU(;*2Em^36MCu&ZpG~^pyp9)+NWfxkFbYe__UW-!}cZQ3ofdmhEGz6d40U!`2;FUB}KKtp$5-W@hGVD7D80 zT`c_keS;qp5;`^5w0ojyF;h}fcFr$qcP(6JDPtw_J%wS@PCbVE=nl>F^{?ZF_;G%G z_rg1XilFP0AH2t;q3qa*yjh6^nd5^4U44BY`>!&3WnGk_vkGd~XuW0XkJ;3CYOf zhldg6!}Ny*|K;wBw){XtQvIxZt;%|~#BCb1HlzYR+(jdD5hasb=6T_|F;es_FPF>c{r<>dt1 z-20O{(Co!x2)S9Be~93tK+%lS(g-3cA6gux#y|=AwI3nI?|Ae6gAJtx(VqN8i8tgG z|F`6F35^8TBx2<_VvyP;;sM8z#R?pEy2 z-T8H9*u$zitts*v?iFw6QbU!%v*&m#^Cvu$5jT@n^h`@)DJnj-FRl&)+fPsB>Y$N0 znW9vgDdY`pcXC2NVr>c50fJ6m=fs_Vm}6*pKeplF;LmP_b@L1*o+~@K2dK(X)NuGd z4Za!Qb>WO-wje=ok<4=P>bElYB&&cYW|k>~?q2+Ld~VdADv@otjQS4cE(w=hj8xc*C$T~t$*~R5798egPKi=9z9l6k zK7D1|w4TvI_U)mb@xe7q*|`-Na)H|s(n|3{2eO4*hCG>N<)4b;Uk)Kix+B=XWNSL} zMt8AIpCyM$Jc)&R*2&r_lp!~cUnmQe$i?(wDXy`FuWQy5v?r6%DmD0f@D>4-&bqWN z+I0~LruBEY9RmhX5j;9Pq)3$7V-QiykFjVrDjW_*K4MA&wK!yeoZk-`#1NZpsTf8gBUl*l+jBkZI^aTG%BZ|7$2@@sq)r~|c|1|stHnZh1 zC&Mromc;k{%dEw$#s?Z<`UhiD+EBZibw6xdQ08RhRuoxqs%NX0CJYNS)Ux7*G_N1- zStHhr9;u_{L5VK^e1+P%-x}QXGDV>-?tYMnVO?9C8;(5sWeFQxgObIy zGWo=r(iyKi3KugRG`p<^3Ln38X*&{D<23IoEi$PTts9yN(Z0~JEYMFcI5b??<*Kc# zGa`LZ<`YHzPrgzx)1B{Cm^e>k{{pdKQ?}sd=H_~LOAg{v_t*#Ncz~{!_#jnjX0Rq= z2xVZkx3}*(k};o$(lfBGnpCK5wf(4-Ekq&Yb7Ld2RNofjB@Gx|@8#(`$~TEkpWwW1 z95!js-P;d?15cS^&Ok>ZcKM6H^nXBjf@qu;n*KEU{*4)aIhRiU&p#*jUC7&J+VA^b#Pdov7$BCziOh){lg zdxu)?ZwDx2VPU~N!)S4*a^Q2u_#A1DTxdxNW24SnsMF+Fa)&619->BmB~rpt0z_eU zO#UMtWvWu_?%pn9V->I^YE0c$)tsA2-e%h^`eo$UL6A*_j)~hAY`Ico#!sQKlcLFT z*#gr44^MEdnF?~RqVx~pAX((aP0tPww*>^fOi@PsI&_tGzz#y_s$BJqq`)EbY|^P5 zP<;9p*jo35w65#FN8jih6b;b@v}6=0N>Fh|cYRwwL?CilzP!tmPPkMnR)HJN997hc zmX^HbBB^Jbh8Ci)&S zlu1#2`(^26DTgw%Tx?h>h?A3>oyHaA5}zt7AFSFZ9plEdj967`u+zv`zWOJjctv&b zk&3taGgRUAmTU#O@elIM{dpg0u>jV#ha@y6YiYM%Is&+H+f)3CU4q zhK^(2xDL@-uQz-y3i+eIrIU!e;q3-bu=c|WZUfP#mrI!)#``}dCyguKAbu2SpR2bP zT_)!9c<_@!AHj}K`?}D#)qI%S3S)$za5ZMys$;$_WZ$1THWls>_U_%aaqD6(yUeOr zxr6nM*kLtFPuh4W)ej?0d4oCpv>!5I2Z`)0IYEO1J62Na>KLNHXj~D+u_xdf4~U z55w~en~rXSu2?bKp)OGiyI;5J(7w4XQD(@YLrG6s_8#9ZI9N+yz&AdaM6YnQh>2I9 zN+n>-`qUY z;Gw@TH9YJGozbhP8<3H=wydC3|HVR9gE*foIEd4nZ%&0q>NAt6w?zB#Q~A=x4V(2! z>c|=|{-l#IdRwD8skXNRzvsCif!hiy%AaGVn($pr!Q(7_x|q3Wh;U!4^UFgN01bDP*yILEMx~ zbMcw7s+P+2X-?0XBMuVzTJomt%ZM43^puFS6LfMA6VPEWM9 zJxDy&lb8_iwc6<{9?V-3>-@#bM8w1kHI-^VD$357? zVw)OeT?+J!%7rDU#)ovcx4Y^iTsJ?<&wR7^8m$^oFwWq5_$jGgrBJ!jN+nw74e{rH zes8Fqot?4GN)|IU7+?FKQEvE8Un*arn;vMic=W2?VEJ0tKF%V$Ko>Y^zPE$#wTu52 zkC8NjiYP4Uwl)Vq6tm+=Z~It}vT7sf8&-vs_B&XP~h zU+sd&?l-!zvGFr@_G~w(AM4Nf__X$pjmlKz5N8KFb1htNm!zaQDJy+|tw`=l1=d6c(A~Z^unn9z~ip z<-qzVJh>g8IR_)QmVTrI0lxuXx(S=75 z=aF5Vbd&*;?Y!?36`#6iw(8 z0wYB*R0yP`AXc`X;B)NCaf_3&4t{@7!>*36F3AYd9S}$X$o0?+EPOY+0UT%c94LqHZ>>0Hmd_tNU$- zSe+j42DIJcj>a4*w0Kn0kUI)^PRrJN5F{9A0}~TTuXTom`1D1T9iu4WQG&C^w00!? zsKr-SR(@&3qFui>Lu&^0@mlU+er=Wvot}nR0fl%}Pu{_)JG6H0`XP4R7AWp5n2%s> z?kSS--LcimEN*0ol<>ek@{-~1&_N51kjTjUE!LfQ6R)>E5kz!EO3@gttHj@Ct&NwW z*>_ApEZVtOP*kvlBr63f)sZs$zCm?Z{h9sM^Mbo=|Nag6Xdn(Bva+%Qr~9VzB^|M7 z-LoLKU{awrxNiz%qr3b~whKs~~ zQj^`~TFqkxNsisb)?So^xsP!Fl3U(D^jImCZ!)~>C(!88oVvh#k*fDFqGQg6%doC1 z2$Ro^Y$H{IV5v9Uu28;ej8Ax*m?cFjTcMmSARqv`Qio~-JcpQAoQCq2KH}BX#OaY9 zL{U{;()cu6Vb~kgSdRnAc*a;oQaC7?z{OIctZ>jChR>9U^{g1C;svxcS9=@2ih8f~ z#ILcD|Awz%BL3r830q-~=q_^H+jOTQZb+agfc!XIrd0AG+LA{-9TBgFa0n* za$q>ZBC>9D%r=O&rUL}>brjFTLY+CNHBXXXK=}CW4TzD=y>2>t;GOKCOqE&9p7GPh zFwlSQ9qKLTg%#+QCYkTvy=!+*<}Z4DHWkc48Uc;GdHc#uU%^HiTXXY5i&qMXP0$^L z<)m69N}*|&zCJ3V*IKOl7HZ1&g!pKvRt9tTg03O=+r~)yJV%tP9-7E1P*L!L;mz;3 zHWX~@Y!d@T2Tp7d;CEz1*@#{OosVJ~cP%^I(ZPWNJBT3eA!{u@B>LNaY}E#wPv6qx zDPqb4t(v4^Fp3SbIpo=ecehBtC0jQJLBCXgG+_?P30Z`TsDu1}2P3TC{FD^3>MWVi-y04zk=c=1y4(E1s~)nbPLGI0H+)MEi|-eyu2Ts!e%&?h(aOqt*WV#d(FZz@>WX|QnkmKv)lmx zcQ}W5SqR0bC04G52yvSZw;s@6z6`ZmWqbF#cv)O$6oF!g8q8BSzPt~e=2EZC zC?%kL3yV4KOBU8#|#7i%Afn~Gz)>-Q)ZQv zSm@-?fppQUi?YfSB`|l)l(o#g;3bW3yJ_wr{42-m87dP|8054UgXeiK|AkqhI#*|- zwX>7!hjuP)%9JA0tUn1WSSosDM0#Sj)ictKa<*#M8S6nQ;et{ZPRbXYpP$bX1dpi~ z4hD~V8r4>9N1Kzx6I=|2`l!j&twe%Lm3saulbaw--=Y@x88%z&eqmIh)^fu3A9Uog zomj21ss&=g2WmQ|E8S5=^YgZM}x}b<-{`dBt>eGr-cP zEIa6%o0=7ybk%7N#WE3#xSQpuA zyzf7jsF$zYH(n!TNJ>cfu6r>mJ6qGbGOi4zlR>TghDm>FaTPr*|A8K0l7!S$#?$Y+ zcp*29*9MWopz3Fo$!hD-hOK|`NvK{{t{5LZ-uC_}(9aGH~xKkL{S?`CvY#_>A{IsEwg495VGgOEh8XFsfiL9-v>oR8)S)~5a-}-RtzaHBE z)0CBmUP-k3BNrwD$8_jIc)qmE0++iHWp;~*s9Z@TJ0}vY_eCSDe|dpadLVkmuEwxE8UAP8 zBUn^Par{of0ph50b>Iq}_X zm^KXKu;{2R>dXP!J&L4DisBK20WFIepc457C6PP-qB>=^oIOm4PA`8sjTK{h1=B*3TN zS-1t5ia{v0b-~u&-X4esGa^4E>qWu1C0G*IWctdy%NXR4J;>%L2h}yyOYOq<_}))i z)nV2-ZMTm$9Aeyh4o4&FaIEvj{nmTG%{9e$Zz(4f0-TR-AY zi`ahCFGu9xFAe?WyiXjWyP8RZYt~`8>XUOW8o*U*PoeBai_>6 z-nXcp1bkQURD(Muu8XEI8aPf`;L#45?!+H!^f}kpf zy#mi0NMa_#72;yM&YG-!v0W5IAEBOYA7@omux@iRH^y9)CH_JD@ogqQ_BQJ}icb3@ za&&i$2l8g^Zp{rrrMv$|MxX^pcSGd7&NG7dlbil6b02#B@%8-I#>NshPC(^>-Wr|< zy3h~Zi#7}Gn7v%D<5bA8ez}ZWa2QsM^G2A<%0~2PbYq$9g`DONzDeB8ry)-M^QaML z*NGN4lMp5fjObD9B;)9tp==g1+<|a+cGRQi~e6(>bUlQ=kbR__;GrrGyY=^{f@Qt zu84g>Npm5_#lw7@>k;~Ql9#ekVA77*Ia@DXI2_es%H|bG+3k|`#D)f?!{;X3Y&bbl zqWZLO1Mu}23O=SUZdW~F)coqL`z+Aw>e#CT&Od?zN8W^9s}>hZA!w-`5Gu-+wtsD+ zd2hk;FPq96G&7@Je>kG?S(X0lLO9Q7`&9*X!)kE=-!Mx^G~=@T@XxPX0^iCEI-YTJ z2g`b$4I1?xL$l>P=ZC+8>{O8khe_)ut%{k4nSYS?I-YuaugYTFr__D%DYDN}v5Z9b z`7sA`dcxc(?S6Ogp%D$cC-CR<1m*pkpG^lS>7gzZzAp6#A`1rU)Z^Txi1Vx)4)I9c zHkgr1`wDi3-A<|qUFaH&?g!^Fm1s8vU!9d+eJ8uzxrMYqoQ(H-`okg`EL=PQu)d^> z{MCWSsQD`86OA$WPmxA%7(T$d8(<3qGRVn9aCMNQKR~8k5z1>&`*YJgiID0{m4#Ym z8|Cd^|1qZYSKqq)vn-%9T`U8P!cIG}weI2CFgPX z00Y!piBi>`B_3|>B&VY4>S|5>#YL?!qyq8x?JvgbAouOZP}T$fDm-}f8;F44Y z5(79v+gXp}uF%2WWKN_ZlFNCA+||u(09FhZ$*iU(GVuSsTpXXBWjddpoYb&I?ZE&C z>Mt}(w<9=!uvwwu;rd_~Gm6hp-)`40(>>i=9IJO>RaaL>ZUGemhKeRUGYEq2?wVCt zjkDX!8h+O&CcT0?AZ1u^B-5urq8Y`N&Q?Hjw)-fCr+G-;7k`NfUz7#w?Q%~d>q)f0 zDGrMaabR<^AW)wlpTEud{U(`1PRC{OK@ZqS`!u2tK@POHS2`>u34;!q_SmPF{o$fc zHtjHLOtP%!UNl6>$@bOdcKN3(>#HMc6yvZm@I-g^A#Jv#5w{@w#}SIZF3}XUwq}A^ zqB58LrSeYYI~G%4LH?lZe?bEDRox~VYT9X!iEf!HOanY)WmUAaUGtZtjmf0~E*`oR zlrK(c*bx;e=`q@Up!kC|!%Fi>m}Zt%GLUlD-+5c;dHVM+M>8-z;+Ab)%x!&nti^~w zE054GgV9CkG=X@ejuux>Zwl1}n|1`>k!ocdxkS%Ggg`hrrQ>+D28I71&DsFB#e-Yv}Kozo?w0ApGTR8@w9eJ0OJa zA)@%re+}tt0jY`|^nR%tCKSM-hZ9aFaQBxn?Kh<3So`O{j^l2jo8Y6Y=_|lAV0|c` zb8U*`2(P~o(-+j&^o9nlVQoJ1xr-cj}KvhmgcG^ty&=H!@$YVB_|^vuV0M34o5qZeQR zwRw6$SgMH`xG!x0P)}aoUwp@4US%`)z5eay<|gb?(y?}lylUOz!})&*6a+?4l%mt}(>TqGz3{z&ed|<>?E+eH;%ddrZ0@sG}+f4^%X*lhX=4&`xpoS;)y+xX>*}T>6>A1P^ zTzP^Go7fZ_)`;jVI9qsEIgVlXb7j-ofi4`FnXw}92OMt5qE%ye^VU7m7#Egnzp~@C zqb_s~c35iK%tQCC8Hd>z-yrU4PStU*E?STavHf-^0eptJx%tel6irK5<16YY{H!F9 zhwZtg-C8LlUuplzANZ8}iuyZWQYK+-Zo>ckUH~z$KY^nL@%<*q3ef*MtCfT9PSBK< zyn{LgQMKc{swVuIXd!}LPmC@NZZpt2X z6+}HuIh3GgPFcM7O&OI4Xbyc_EF(-|2MKpXIzf^zbMZND!v_$P9ac2h)`0W3Ku>L^ zDSBXra^}ttd1O$}=)cG>=_x8G8HvYiKwLqq&f4>iJaA3^0qU?>Wr3?x3@h6t-bv=3E?yRg^`%;^;0I~%Y>SVjAhGu8`F_p4AR$=?W4IfF^ zu0Yk&v8yhnhTf_ z3o_kO&R$k1*^htQ9=<-nU2=i^9)fQv`{yRyFnSZa2v2I% zo~v-TQd}LetY223qLh&@AdWcYdY$8LAAXMcZlGe>kL!}X7u2yZ*5oB1lggWaM$%JJB=VfDzsLkD zVe{*&sF>xN;k}W9jHLlad$GGT0W3-)o7_j5qW)P#^p<$81~K^Qo5RM(cu#JzhKEF^ zb#`nz5_61!m|8ifWd5b{=b(h}o#M8=mkaVe-OKx3G_Ltw88L!?ESLDO4gt8vyX>#W z8jo}*B~c$vn3wKeg`_^JTKS46%YXXGLT?Y8>e5U~6k$yx)HLl~(T`6ZLIHJj<4Kr! zxrRO8x4Bl)a*jx77fNdm#qg`IaQy{p2IOHVZt)&WN0?w}H~Uxy)5ZM_5GupRrTE-7 z2P^Vh*GvwMkJlMp9%UYUt~d|dQ${9~hi=DPu@6nC?q%Bc%|xFxj2ntjJ=9HkWm~Am zFvg;+p9EiDL@S9TL3H_SxOnfqH^w^j{n}2qe;GH~{c;HZ-3ydkcS)Yr_buAl^4ZmB zmM?S}VtY1`@u$gFDJ6pFtV;jK2{eG|!gxlW$7`R_C6kLgx<}TGuJA{99`rM}zNL?F z%{J!EL$QJBt>t0|wLBB??iT&u1M*oTyo$eLe=Y+kgWukvB)D$u-=a5uh%m-vN~?hV1mRJ(c!C@E0cIeGheQXII&u^;fj{FWc!XjlBl1; z$~Uxke^ihi9QCqK`v-UU2S!K5(C9KGfpVpc479?aBmQne>Sk;zBPE5D{yADfE``bo zY|yC)F9+ST6q#<`6UO*EcLRKLyD>Cv4PR*H#uG-;V+fjmCG)oE)&ZFk$f?v4f{FAg zyRW4Ags8DDrK+0A>QkS7R(#T={rC`P8()v~VcEcJofDI`$DwjB;h6>A71RwwwBS?| ziJJCoyYhG@@RoR|F)~ip+AfESRiyt>)HYw95jQNmF9;uiTMv-lk#}}aZVL9 zr_rf6&CiI-O|-x5p@MYtb0Ti=`;b5Bhbb*^`lJ)RCiz#&5H--zAp=1fsz&O&G0=M- zpOrltYh|||w=;^OUd#re__5WXy6khq$G6e=Z;gq7_qJRE02RO zgd6Dh{Cu@PnFEIH6|MEJjrr(BNguMC^|HRyrbEtLKl68yS%CX+GDmlzc&}l7ov?dj zv55X_>8u9y7nI-KpP9D{um=`ylUr}<#W|XonCRW3>n!>hm{-+k%O`J(s=P}0vnAA| ztFuMFUBk#QAea(oR3_pMl9JqI2!^;=IA`Vo*&FtanX$Hv-APX!XSb(K*5LiZkQt2fv zqht+SA)q^F--I>Sw;oE2^W}lAgZ%v`h;rGd^88EvX%QOM4V4r}(v6`0AltYI{(o@n6O17c-k@{aZ2$;i2&)4=(k!6~pl7ovYp?c1b5a24fDDH!( zPh!T`k#^mPP3~&h>+%*7B0!S`tU=gcWe=dc9yEJnpY>2d`O~(vy}gv;G}GM8)D$Z4 zXYL;81^HE6B9WkfV&4rwg{BvNmr6btvNwk@Qd8nSv;`A^b3*>pE?F?W=LlJT$4bs; zA}Y)dm1YiI_?)= zjbeE`RQBZFzoZ*L>D_9t^J*k7vDBMo>f<_(R6lbEowsV1VIOv&SN^4#cBTZ=iM;@t zcJ|Y*NdC?m43~O7Am+4c1$m>80Z*QMxj(G~ekn_Ywa2=K^FkQs4zzZ)6O_s^NctS6 z*fARSVoQIO)NK{OqyF>NX6}09#peG-*_%LP)xLeh8t$SfQ$!+VmLYQ~%9OFpb7&w_ z5>aHRP$7~rgfh=U2q7eyGbbSlnUZA6^!>K(|MNWS`@VO*@4Hs(zNL$6UwfbX+{f{o zj;lk1_gS(FxhVWUeVsQ{2^nL!W4-XeYJ%@Zazys8rBS3^^=GwYsfPB-By-aZF2>tb}p(!TObn>E&L`%3nB&gpsj z)Ya9M?6p3A;|CK|)#fUpRC7)DDE7U$F>SIkE4}X6PBFJW!?J$F#AC_)_^J{G z0Y)9xl-I6qN?RRZSD!B*)u=a<-Q-eyGnF%E>*T~CFkx;Wz<9$2nd{e3V-51Ug)|;HNc}BuORLkP|`qRNqQB;2ua|iLTLR`T$ zRJ}bys@DELRD$2$hyZ^Lf>|g*i!DrfX5u4DgFi#E&*Uz1IgXG!eRcu{t_2FK(-#e@ z(Q~CebR8wVkR9aFDR$%Ywe95#Wz&Parb|24AaD2*re{()RW#5~X|$832K%BH;NiouWOqbR@s#)38kMbx#bJ$|waVmOQ+0n9d7-o3k=CjT@(n|0}R` zfWR`}=@*x1=(&JZRVlq8Q1%O_}%las%hUU1yf(rE7j@#ny_ z-j$XOsc2B63(4oqj7X+8nR>e9d;peKiU2&Bn3AL`2nSvLW+4=L{IZWw=JS3_>n%FJ zLkR=KENUH8bR>A_n7<>Nb@i3B@MUfT4vs$?TRzo~D-&a5k7F)AP~JnnZOL8k%7@O* zFufVB)^_@l8a+wQs%$M?k%#JBY#FafezL|uT%pq^930?c-19=`ICIPF2oHs`d5?zf zC)XvaC1U@)(dVQGgy+G%L(mlna0?pMeu8=+-yrf1Cu5K`o`R8=wcwy^-LFA2tUdw( zR4deJH;?a1Y3EiUynDbc_vbhoxTpXAh>o(E~sYd@}fS$^G)2+>p#N0P3e2u4O?guZ*z#M3rDKP z3i+O(uz0}LEv&*35~Wa2Xd+&JdBNZ%=R|elfvpu)#XwHUy%>ko2ZPs-L8+-dr$#ob z?(FQ$SkF-(rpf`DS){uP3#yXGnksoAenBLp?puwV?}Bd0B>bP2tc>^Yxu9O(?Uka* z-Twm$X_E*)&$Gv8w&J)}JSrw%)lWx z&qFTbKFNWnIunAgIbsjM*0Yy^;S?Kn<(DsJ^1s*{tHbHIyYu!p?i)a_8`MASaFm%* zP*6~vx<@}#3;r(@-KK+8hiM&^DdqUSpqsD^LVsKH$j>QsFGtchB1L34;hw`=)f^96 zb8u97t$b7(Cgy7jzdClRjh#aFRMWmddd}F?7y(W|ZD&$KN@w?-%8eq6Zc0uUz#WQW zHhIq1{YJr}_LmVm4&}Ed*PrL54HGA=VOYDG5|94bE*fpu3%mxz@?-RYjjrgT&Ith; zQN5_PlTM|58y*{tR@t}B{xj~45?sS#<_B%*L@B1bIc%pS3!1k~m_7LOZFXsKu3lou zOfdB*o3w;PDueQ~~uX=}SpN;b_@0iUoXdyn`lGv-gezGMcfAjg7gl$r{N zOOMRLx6gPkp50roP!c3TW$s$PHyq@xfvf9i=on>Z&1CY9`ibAadvv3Vr{$#ip$qDybCRyLa!l+4c)n0j1oL zpgV@5}XhNh-*YI|G@XYZb%CU?qq=$F%Zv)~QBXlqOUCiB$c z?0@*ncNXev9HNR-ifwR$*4xcP!O3fBRd$}(EYqXKm`OrJ}fZ=Il$f&)<;*l9%IvXn(#4eOm6yH+vB$j$DElJZ4IeQOxMVAW6rYo);}CR`kXGnI%y%a zGQ3&a|Dt(|rd?Fk$vwB|YzKbXiW&Vn$7p???%?yYf_uODxA@EQeT|>5In2ef!^e;R z#YWLt?>hLV>3p1pVU=$^PR8l*)Jr@^g9b51W$#Y13%xO_9K{Q?Pv-vkhPdeOuO>fo0+wj# zpPcsVH5z4zi1Z|~ny;ZE#2$@@j(56oW=4IuECAh>tZr}*fxqDAsJ+fi{lPhjv?|el zUh~B+>$c?yg9pV41q_>w#vz?|xSG@@zWJBemmbYSuEggv<=e)~{3rp^?~%yPXhAc! zoKNnCl`E6XS(mA9jU5(b6^4Zpu)TqvqW2OQ;b{Qqt>^EWCLPoo$MAqMOj{UI>E=k~;xIoeCc~M!UnRUZycdkuBb^ zSP&YUY4-7dvUn@_Ce+5qf=zBq`HRCm6~sn{r|5cI+463?ujRA1*Tb(I*jDw}e$$pa zLrQD~dk4Fep3B!$v1G;RYQ7q0j7xS>G>(!hiEOBG$RQsaERLLiYQvCxzvI%63!=h- z0^ZH3R_USo^)Z}TA%XKhu0>HkIOvu5+j2+cUPVLFCoF|?D}!$0r5SylyK`O#uedbb zJlXc+hBR+hR*Q!xP)*S6JAs&rO!-n5+zgu!dB?kwkm}5jEF*Y51tMbhm7W3U3A4bS z21{F8?fsO3MxHCAtbc;}srcE?IU6jlLu?vFr<~Pj>?oSSC(oDI@mt`b%1yVN?gl+q zu9%EIJ9_upoh%t;(ucX}Vm-4LgyS4Hg+?szg4DRQFTd^e?#4Te+Tn|H3kw&KP4Rtf zY|vC|LY?CMjjC-@#iSrazw`S$u?J0X@dYS-Vm+qEX|3s6RbHwp0hc2(^FH!(VUKRNmOUZo_DYs^3e%7qSY2L-CrG*;8XXw?J^rDXe(PWUJsAS zZ3^5o7i!Iw#t^cHmIm5x`E$EEwvltyMB7NSc15zNua^aJJXU@bR?lT|l7!V;u&Tm* zSgxergu9|*%6U0+WV^MNN0{FTnYEf41>BV{`3t!meDA!V(@B#pcwu_~B~2k3UcT9y zC=Q=hg^#IH=ZkUg!~Em7Kfd#rMuZo%TM31Qy3>NcE(q?ulyeGr0G`~gXAPv4Qrhc0 z`K@ERlH&OGwJxF2Id^@#yM~-ZOkANvnz7(SoP+mdn(S(N$YN z39G-kG#ug2Oi3h+kbJSZOvdW1Ezq>yCUCCgx~}ft_xC^3$G*fN4hi+rQQoL31nt7J zvyI2CD>9N#fP+tupJVW1f&OpjmBnk2ylCU#G)+wfZc)@b9X!iMjfORTlcseXRkVXw z*rwZOUxZ3Y7x<gu|H;Euc;8X3|w=4~XAfBv{WeE2Zc?v-8Nv5wA8BE&VlmjWdVoCrEc{v5}X zmuZ)lu;guoNJCUk9xZl7v+oC7eovk}c>_dJYU%e4%5%hS#^c^}u`t*2+c`U_k@DrS0b+3z+L3BY07wr}54YMyCY!Avx8 z;xvrp+rG^%gi`X2xt|z~W;s6FD2zP_kf~SrdFq%lpiLiNT{{GHR=cP{T-vNVe?&AD zvX3`J{uT>#MTYbzGU^Lx3Yj5rL{VmZ#8X?9gN6_>K^ptYwj??snBVKo<({weg|2ZW^+2U7! z{oD&aBg5gBm^<#>+x8i$c<6vCx9mQC8zAw}rvjTK30m&QOS7XFaiIyO^eMLZ5Z9xI z5Y#a3+Ahua4tUzNxpAGc>VyBJW@N~^yPwd_HYU4YeFwUAgXthrR$()t$e)BB1^I>B zf4mynRaVW)cyo2G8#;pM{0W^S%3>PpFbBdill;`3j*L4D!nJ3`#SBeNO|JK4NLd~G zL4~z`{P=)C4B>a<5iL?sb8c`Ysv^B|7aRsK zQF%W8?-v1WCb5SMEM1=604VY<7AbNP!cFyb!GoQJP4vi-JK!WpLqbB5q-a~!uUz3n z`S-A-q@Lxp_|c=juzCz4iykL$hq{)Q7a_BU9ELcT8Z#eccW-3Xr)i}SI5cCl_{e4V zqyNzYT+Mz}b57BUkmP{NxruP|)(;+gSd}zCpF%HBYUO=j_%d}~51`H{KkQknZ9hS&LCvI?2 z(T?b6!3cmSg7p#0NyrCBrPp1E)FapXVMRzwB(eqlRs`xnaZBL{IPKW;U%pOs4H(&uZn`xkT8{|FqPc}oKhcCkHfE%An8A~_)f z1awBMBZ6-EP#(pZN{EyQu4dQ$B@gbzU&y^DIBTdIUQJ||+JjaiqWEDOO6z|uE+ z%7}QyDfCqYNing1SLB@yMXvJ{fw7x!Si8dc5~8$a>N@}o&Iqjk64*FE;mghHMd?TF z`d_=?mX&Ya6N>i+K1rZRXX>o>^dJut5sd`e{>HjseE*pT;d?I~NZCV{mJ@m;4**I?gTsYFQ{MnBg7H_z7(MH0mAN6O9n_iphH z%9HtfNB;em<~yWA8HAp~+czfXDXX`SU9VB2_%`QyUU2UsOHQ{@+Ykf!Hf0HAprF1| zXQP|K3j!+5PNGLVESu4SZxVtKr)cADQz`R}?IAgnxu-lR`;NG{{=St;T;ERPU&@Wbtw;hMnJne6~a-r*}OPR^q(ert1$MuT! zcOH!>ZiZP7D&wLez29yS<-v7~$B|qMdhk{!Ha0cOPO0rlEgvlM?+i%*DXsAq?w(80 zR$%QO0?~IoVIal0_7G0nw@|0M^-w9Iy@ompCN5;u;p;?AZhWmFgl(A8S8kD!{ZZ{9 zL+4I2LEy==%b+aQz}amp>TQ~ya4yxUPzSsR(J-fLvt5z@h*e`sqdM2yiZvvFaq?CI z9*4onpq4(Cmjs%%_!e`1$jiS->;l(0@08L`7C0o=9SJ4>fDzE0kD~0|qtAXb{FTG^ zBu3Ubt=5GhU`DRsEl%y6>&xCL`E{vb$2A=NgQtFq>IM#wtjj+#5VqzC`&wjfn%?HV z36`8H>wz(5sQir(2iyk11+mt6@I@hKq$;#04+@1*uGv(re%xJqZN!eUU2N z762rW?QSC3NGaulKbZG$Jo3nHJ_#{s~dzQw9!Aq4se{A z{zR>{L!*VTL?G{XeTUUuK24QA;dL)Kbh=nHKE00P?Z5CyQjZ}(0V5SM*Pb?lz0B0j zNZon+MKKGBL|{X@OXJ+p#&3@Gqklq#B2{tl{xSO#J`QlsAKN%?KMfr+9+Fo23$Tnu zv*D)H{kr`&OUL=5UIY@!uP*9SAJE&!UR3tNwzSX0K2qjiC5cO1SWErIT648h;iEr{ zJ0Zg*;#j=ElE@<4_Pfh@t)lJ;ADGTd9>1SEn(BV9_?zRZ5)KohveqM^7cTp)x@-D9 z&X&dAvXt5`Ny3MA68WPVO`2f6aNi@eq}5Umq*SHZmkPyI4`~Ez+#Wl{X{*e1Z;F$X z&VPm`NjUSJ(knGqb0JU!Xx0i`q{Ebbqhbmqei(<>U2^bl zl7$=vf)KfbtdhafaT8|^?};!Me7yW;IkaU7l`yLVIf>BR+#CuijXrxAh)@<)qkz>e zx-}Ac`6nugXSul=)q*OVi~;c}DW_*tqEuDbs0j|ge5vVby4?*xQ+RlOK`MAuEur9q zE3>dr41}%zwNj8;oN;c{#Mpw`pxx&;i+6|qS*XL!JnV2D@&mu#*Z-poUZ%+TTL$Ne zvj_(W#8sqtTc#Ojj}l^3RNWHSzf*cFlnxA{`igod%hNyx6D$q)%UE3C7d_WLO~dMa)cubL!DRUc_n=Um*h|&gi|4`& z(iR6Hm9K&vU+ehtWWIi}gL(gQOWIc0t6{hFx7NWv7r@041=P*0Vz5~KmU6{eZ%VV0 zk?YXH6B+NQvhERK$P^S5scC5?=lK&!P+CEjE<(`HfXv(`j0P|gq`8#CsrlRq^kX7@ z6x?LaSGcoQv;)2`_)=T-&e<#1di`uOFDnA>QHQq1Y zar)z;LWN)FSKy74_!cp`o7~zco~5NJp~R)upFbve&cEbx z3v)S>m2jaZL)(<2(@`_gm>Or5S1?WNF}<}iQ=4!72%MASJH9>zMjFW+C~^Ipb*3Z` zs^U`n-24UwyJLy(0ElnqNB$#$!h6Y~eul)*?ZPp7g-bM7kl?lUXH)Xk+W<08&ECzs z0;#>{73Hf>y&;C`dYu8DsMYfNna`0lGWA9n&M^Mv32Lb~mLk9EXh}3eBy0{!JC2YO z#!Qsr@i{pH8Fj{r*#_*NvHM=*+H#eGFFa>`7f55keJvvN@YP zlXoj`oRb&HZ2)Z^rSKNa9+~RN-;VAjejy$wd+fU55rwg9AD3s>mZvY;+pCKP5*`~= zi17=$Y5S^G8+#Z#a9d;Z4U@ow8&7SL_El?8-s@2>l9df*Yp6HRA5*dOStgC}rtSJX zQu>;m+mor*H@FIka`sI3BTPLEw4-@4vvzOYyi)KOW*+d%9!Ac57&cOz1&UZr&?;vBsBDDAkmV(=7|8Q?^FGxS! zderqd*DmJc51{)Pb$^Zj`qz`(#u`mXN|FyHWjTH`=D_F~H7iTJ-rpOdBXz87D_K120zCGtbO?gny^RdJ zvA8udJdp5bqx7SKnB}n|o6Qd1F*RCVY4}%QXO2{b<~AM%5u|fY5a$jD_Oa+H3kfIz z#0guy?FG^YOg zTwMdjQkztnRkd zW&B|LG5janoTGbE=S739Fg*-H-$*?dlV4|RC8wO!{Q?b1Fw zkWj4@k*JU)m_}^Qj<(5c^$v>M$H-U(G=|pH6kez}^n&M_n zK=E50O>!d6ZvFOW zo~&p~a>Zg&-IiOhddiDtZ>SAOoJ-Gzl8|ms2+apDnvqSZd4_yjb*8D8LIRa;hN#WY zAan>cn*KEhl@(>5Q^qlEjx&~QvpG9vsI6i=JP-YVLAMFGC>s@nD*_X;d~dHYA&exu zPaXQLT_i8P53=sD0D6cAjvTsME+uoVJtz@;6;ijfD`mX6YJs4diVJ%Zx~>p&Jn$%_ z-=C9_q2g4+%UxU^XDd?vDR=mSm6a8hnr}`0)c81cll_~1&hr60(IY&1Q&X4;21A#i zh)Ae#GBWS|`Y)QfijjnWNw1kn5^(3{Wu9lY>JgQlCft!`1($7Ex^nhB`N4R=_AC9o7M~tk^I8bm=5`$tK%tmd zFqA}x#0>PXmG&o{S+oZWs;)h?q=PHJW! z`(;4p=R}WLd-ly&h64{7xAN*Sp(HWLu_`+lzUgFgc{wvciS&KhNPt950m$$ExHF(6 zSc>@qlyiiD)Dn2^hRnMUG8sWYS%5h$nPtJWA|VzK#tTG6*Gv(JFE~A-c!S@h{diz8 z#|C;l(N8gqe2*G`f$|4Hk<;uJ2*DVa7DCuI7A2>Q9xB~KHB92>KnH#bI3NQS+^#zh{&FX@og_L(qwGEuKXVi|JX@FNL;TUU4ye1Rp)(rlbf52 z3T-R-iay7yFri1Z&{Il|w6?T-1H+~lWLL+L{ej9&2xx<@pX_65=pdyC6`4+kZY5%J z#nK`YVE!YXQ;!v4E1{tmFnNnO^toOBw9m4$cVYRVE@ww=Y*)TyQ6_uPJ9KaKhuEOt zCa)4)2U|?&yc{Plqil{mb4xqB=A&gBpLrISfWX|~paHy-vLkbcFp{@By1OqD)>FjA z82r=qG$u8U09o>Fknw>M5$c*nV0{mWc`MLmy55)HVL#T!zA~`B$|B7^2pMSB*h&gH zdn!I9DR(geViJZ`>GfIZA>`O*_YVd!5J>$ROtp;glMug*6p=tn5__U%qKJ25UqJay z%mod7s{5D-G|SQ@#H3LXYJWi_z$T0O>cs{Rq*K1wEz4QAS%sYMv>5|xPgseugg{% zLmzNq=4;LMA{C;YFwo1J9D;;b0+rO6m}5SO|IpljFI4?+6B2+D-|#{(j=uHOv6y?U zmK~B04fKMyivHh%ojO5qCqvox1?C-MBnIJV0%S=-6!wGn_Pv1D2e(FS_%U{G+QXEj zZ$@Xi%b9)UkXWJ9Ah?$t#9j%TFLrMTUGS{W_pmLqihbs>ICy_AGc%r#aIt?VxhbS# zZEa0}xlkE@cIrMyn4WWOdxSRVr4PRx5Wi0l8pO@+u`dmwKz@Va?k_%Zb$j zg-3OZ$Gk9r&ZMt)!C*VbCnvv!lwLnZ0mXt*p3;s4m%9iUxSQj-Ize1Ul$;3|xkDrc z0F&q+{3Zf`8-p7tPyn5kUKN>3$T9;liCE(rBGLdQ=0yO;9ewD#jsn&S93mkBC!DLF z`Q?hi=E;TSB|{?&A4A16Du+rBb2(hXYGX$wcA=z#<`XEAz%A@if@sZuL5YAA!mcAc zkN=kdDSMdmdA!{s9Pcu9R$+vZ`p~1}cOg49B0y4|d!h-Kg%|+BLFV+)wlKa(jg1p1l(JAWM&g=6c03gmDir8 zKH^;V6k+7EHVQwGSDrO_WI`AEoE=hPLr|}+=l|*{1kuY>J3Ogn#4U0bQa*Bu2kA1v zXmO;j_a8^#GODk~^IQ^(CUoQA_z6s38@f?4GuH#5KkpAotQE)!)Ot+i;h z$o~%4(kTh1Z6t(*b!g_>t#R{5pQM#Kk(bo*($q&kKtj#vG-<15wp7ZJ9j|SPKuzv2 zQR{Mqkm2$m#0Bw;{3V$VvN|!u&JY;_AWQnBQp1(Y8OIY^Nuf(Rc|cvKX_@5j&Jme_ zr!SU@166cZw$t2Mcc8yCL4|GLI{QKkdLd29cxuZ+L17#7th}c8kLCTOG?b*JZ zKDQ<8N5ac2u%WP6(N}&L#}Jmt^Voi8q1WG1boah5~r)e2Kv^9{bIUqsa=UHWAxg|EtugeE|yc%Xyznl0QW6#e#8P zp7)KtD1OB!G}0!m45(wTf$7ccH`jlin=Hl>OS997cs9ZtrVO*C#R=$Rm-aCII!7Th z=5*e`hs(l=O!N2{1;{-rr`>g;LPFj1*5dp=Oe#-Q=^SZj{A(!5x9zdvp5@cJl6GP~ z=jE+{-%I+3Ie4P&-eb*?>fl@l%O%}m2oo}^Mqlt}M_!!uFafmvv$;9qWnIO`yq6|fcT;J^rnbbfDI@gss-d3N_j#Ymef~9aYU@=} zF~ViOk0;KaQ;p=0@V`2uXWif8LmcT+(0p&pji8h!i=p*qvUO8sLuW1OU77qz4&#Qz zdy>F+2sxVXpI4jO$=H0Ye`PR7vE#91=HNpcHLa4Xa+xyJoXANM-;n3X2I=i*0{JwJQ*?ei-;a-myd**#==RfBiq z>@5K*6pU1rZ<53OK{FA?rRfivE&TCL3vBnRH(|a-8`HDTCEB=S>J-lTz0tlZDCm_;#0`H4(Okif-~Zm0Gkj3K}+q_3Y^=@ z$7d+GKS!*(D2Ps3 z#CR+=2qs)NtB>*5Ccb!bBy*eI{|5s9Gh}_uSmyobXCe$Imdl|iS|LC5hEwTDpWSIt zGuv-)geZxKiCJ8ko^yp=2x@n3<;?~V$xx$rfFOV1Gw=TPp&6jkGrhc5kg*6ao6dTF z?%U(YSc_EkGt5FqmulSAZ94Yk&Gj16Xfb%m%*@P4P<+HcX*i|R^^E%9{khT5HN|zV z7bDl_w>&uAd&AlJU`X9h@k7=)uVK+S{N1^UIV$V+iY?rFGMs#8e{d*fHR4uVuJw0U zQZ%Lc(NahiJE7X_Ln(9vy?*DB{QySLtFH_ZSO1Gz;Z;oh>9KA81Z6kUUuSxa4%3yl zaXnUiK(`Jr!qGQY@9@k+;F0v@v7fmrHS*J% z3sj<4g&~+a+Z9?;llxZX%58068Ks*PX+(<&kjk(25}9B^VT|VSH`j}{i0wC%0tEtV z-jYlIaG({k#R^hveNI_54&VL@BS(_31ph}1py}|p?dP&K{VQi;l&Je-P`>i3A-v|)BR?dG$9GvyxVj@%%wT1jt#=U=GYzLJ6@(8a7&R@CwX=*-mI2Kc+O;xzu)n1Lq zUcViR_V=?%6y6EsX!-F1p^uH5v2*zKQjn7qw9332M2vYB%bVUj`W6w3xtLV!aSpY3 zxAakthsBitHr_iwakBiUvS(yu{Q0~6>=2X)eAb?W4lPUN?~*@kIS|Fo88& zJfa#|ZjZZN>a^sK;RO%iP7H`7EL|Qyy;#2QSFWLHzE=Mybv*Z%3FH9i5OX14X=>;y z*d_{P8*<8H&iEfA+wN6)H{;39urnzb?JTDyM$+E2iK(^@U`{~&mEi|H)Yv^{moAxJ zbnI)QD}3Pn`_azQYfn^W2S3>s9(5}BZe)jBwF;UcA{mz@=k>20$id0A?&K+}PFEx} zLmtb$1Aei$&~;i&EpncD`UV5M??5p7*?pl;|CRmok=hS@r_4nYQDm>M#y zAS+Xt1y)aIt4R(${s9UmZy3LpHMs&VU8I@Gx-o157kx>_-Fb$ap56 zPGCTaP~_sJQ?I^yeNx_S%eF827)S-s?h#k>B6?3ha0;j6NX-;306H~Frp5Cpi-o_4 z(aVrrnOFLo;Xhv7&N@58f07QJfH}J-i|P4xs{nW8dg6x53D7^R+Yu1_scCaUO#t;X zw|wnJ;(rMVHBG_BnIt2V#6dUx6*+OBsaBd+S7d0<+MRAM5`%z8o3q}$QmI+L4;Y6K zlY&<)i<+C8UzdOWXic5zzX_>!f)SnGJYgw?|9vzUlQRstYK-i7PdADc7Y}@FbHv8x z=1@<)uFA0mp4=gsML+ZS-Nv<6!Js->~%dLw-8xDL$HkmqZEag?|4y0Oe zdO0+B)nx@A=zum0`22KruxMeI#4;J?S2ZLk(d5HQ_U@g6$6X_ZwBrSxdqd|n442LW zNFeFZi+VDaPNzH*-dj(VuV(i{e5}o}<}+7X-(kf^q9Oa(PcDrlJlU6IoZIr-A}u() z2l9q^mOknZ;@Fp994k+wQa8~#^{Q=)3N@x)#L>znv}XEV+4SCHEcfk0_N3+cDX;c1 z+NNvCy0L;D&QgbSo5i=8l_+865mD2ry>BRgJ8RH+w^NQcjFmp8(u}J#?2v^KhDKdI zymye|giQ zHuFuV({%kl>?=KG=D>Gi`?qq9&Cgu(4~VqmM68X-+U=npl(L?d<-QsoYByPbE%Jnn zq6e|WF>D&zr?LGzxV0b!147GX`LbdJL+ZXD*$VozdfHO4(DLqYmQsGwabX7&GZ;wPO`kesFsEkO9#}9$HcD!;a(0*U zO}DXYNm`oRSn+M%8~0zRtIp0Opl1+>034Cjky#9QG$&=rm^uU&oc$NcH)9TgZtB~@=PV%5 z>W4nyq`Q0Bvx+~OTW_KWpAD7FuyqTXsC`e?yX+=uRWbp#F*8mkPX6f?RSo`E64N^hNHzt%xhIq ze>e6#OV%3P-#rT#=}*E*PdxFO#0MU>xc_jpw6y%PoDfnBCVK~wB!CYTNaS)Z{!Wn& zz#PEGEPJ!P&$UE#KWkH_s{d`W^jtkZS5uDL?N58$I|0un6@s=NSeq}J+m$l;zK<*H zmct)HhDwB)&-e(qogy#~YVptZTVh>C7zlE{3egQ~%N6TJ(?N=nJy1Brdi)uCT9>A- z#4(-{c93VlHj7qc2a!`qBspIo1ZqT_F|q+50F8`_k>W6x&-h#hr~l$oi)Y}p`}8fr z=qBJxSsOwIFxPt|d&SA`{7 zCXvRcKSF&60&CR$-(ih^#lTuGKoEQ(#2L4y%TCkG>AiqB0kXvpa;rG%`=N=x zP{EwHx2FVqOW>9`7SL+nQ|@};t83rhQxP*3-(W}yoa%j=#ysr8&^Lnw#X#+y2qS~n zpndg3Qe2fM;bh-%I$^sp9moWVs=3i z)*uAZ2ggQF1ki3UC44EsH@}KkEKv~m5s-4DY5Vu&#PG|H1vd2ME5ia8@mgdfGISlxOu8;)~ zHYWhqK5i>Ml1_eD+N6E^goGao=@Y=6=$jm!KrQ)EUJc)?l&|-Q#ef6U~#s4!9)ZuZry2l&Qy{Q0|Pnw{)_}<%Y=G; zY4qdz@SnBFCJTHhl6FxeNFYp?B{vK(TNc@_QF*v5%+Es*p;27r9eyNI734kWdcRRx z2tL$Yxl-m`Zuc9Rk!>lobesXCwzT z*(+mysq@1Uf$K7t3oDCX?Lx%1H2Z!C5TwM!6cCi5E8A{GjIEms>ze=w+)q@SU4u}vrW1b#)LbZD}o5LL&Vh5^lbQ(ydMXv4A0`;k-Mt% z_!&+tOp%#sPK_3hl}-ML_|gu9Z4&{3slFYkWWyV-88F(s6@_(}XJpI;t)>+E6 zmLgR{GhEKB1UB1gtuwhU+OyT`x4l~dI2E*-fk1+_ZWYNU@+N=CEAlZtv?m*FkFluAd^9 zCkwbI^t-K>DO5fC|Kb;Z%Xuv-5;Wc~nUYpJvW@0FIl9gGk5;h}&QGV*^Rf!JMREUF)qJ{75QR%%z0@h>)dI}K?iTMfs+C47eaao#2iPEOU=5cr z)nZ%Ky!;3#4feH)-+~o#|93vnxK!5*)o#NSEI?@@dw>;U?P{*KY zuJA_4Cb%FHfc(z^z7C{p$es3*fLJ+TXywaZh_3e~`33Ck(9%SoO)|%@VZeac?g?aq z9yuUE0cAx+^p6$2Ys>HJg1@i znLB484b4oBjmgK?R|WTiTUZ*n6FGmL*oG}+dpJ|8?x;h83D2Hq06|scmp2+vXo57H z+hQ)N)n?&&-o>G6Q1G+ejjlJDNQcll1Sl#0PXM++taPbLT|WbUy8NDpI5NPt-LZ6r z_{?qP4OOF#=Vo!;a1MVT7mR7-nY%)~WxbjKXR3o~D&%s29jE;-L-n)e(Z?@I*N?>% zRA8M|eDrZ&NpxRR<*{fI{gE5voglRQjeT-;K_K$V_{8xO+W_{SERv&KmFF zyU33rXN0~;@?m@`MbNLC$4NS*Z*hz5t+y1>U2!5tXpx}QHCXRC2pHhbv9c}dhZcOs zH_#j)=S!pd(r52=G9JkkYllBzRo+0&7IL?Nmarp?0eR-Q5jx-MVhgN9f4I$=7wVtIM&biR>QXg2rQ<@Db@;EYh3u0>r|;yd*E2X7OK zMhzn)f5fkiZxq|q!X)nr#lxjba!%C{H9Uu$LehCsz3)dPF`8}qwQveeqIIYu8(~Xx zn~fgO{=c(2Zf~u{OdCI9K06p`t-c?KAgw||xFGU5Bo5fF{+T0U5K1CrxWO{It;JHu zvzNpwiJtEkE(m*^eo-hAX}Uw(j;TrunpbmnZoouPwyjX4eHOyRpXkm1U^t@|XJo{+|u?V(hjf3ZsYO(CpQG2Erc;o(F>U&ik`MdQVcOZ-XzVsKH_1N!_q~p46+qN$=Hy7XLK^w$WYknmq^md+a zXHrO}ip>R|M?Rvt4!uGcbckpgPsAw76_govby3S$)BdLdFj zaciDd+XD*MsHi9lrpreV69WT7RCghIEJFGLE&a}8_rgcJA%n;ClDl7HDS-bI1_@~C zexoTmr!9Y%N3Q{va3Y5en_XQ=nC{rvXN!ayelVk&;F zt%o|(!FwVnpAim)#_r#{$jQICd6Ke*Jx2&bhyyZ>MYvOptz0~ab{3)UgdiSb?WTHm z??zP}wp3Ie7WoXQsdF^Q?^nAu9a8!E%ZmRI#-w7vSj`2491yOAg=$?3gR;bD^C4w5 zG&tXV7nvN=2)aN->!>NZhCJVVkvhao5{%HLsN_`E#A6WnzI^$T);LQLAc9QgQ zs^9qpti4j_sjn=^QvlHe5uq>j>y42AB>g}D={91+cu=7`sgX*ql1QxGalab2E2OR? z{v=)qi2*Z+693h-vY~7_obgVKAc=&#mnda;Y7s4qsm$c1ef%YNblU#f4c2B5bWZf` zlQ0{+xz2YHGY*KPbzCk&FXUECT%Pgqs4H@BaN^C!`A&!E7Mc1 zg`k$&-Pw8u(?*_3(-&N%6w)KsVpOGpCgZOAxrj^5G;9P1pYBeJ;As>Zd7>$8L+>BY zpABQ?-AjG}4R+rCe&|GrNXa3Vb^YINLXouW&y>xH8wnr;78&7{?UeIjmm)@+V9o|t zPY<-#abI$U2wufy*1}^Q2nPuX{GUr#?8@eJv72lOI%~H4=g$jpAsU+t@tT^q+Iue_ z@zsOD)YAh7#g&W2vkh~xq#@c?jSl9y*>tv&gEO`7-d%cBTki^M>=A6ljJr!8Q!?xQ zIKg>|KVy-@z4L$KT!5FR`(VxS%DQ;@7!~88>RTIal-4B*il#9&WRiSK#cmib@ z&8L$Go;_K-C&OC4o~aq9%XgXlfcN)l>_H#P-Al*CG8KZ^6`-#~rm?4P(*Z}!;>N8} zzWfFXWhhj=kv_WT&Gjp>t(I>eA39A!%q6PDrIzk3A7%e`agV7Nk1Dwu2Mwlg zT53yYoX5DiFB1GVFIOOO+8j9a<{FcmR9vd@`Clm_Z~Um{ubMCCUPPddhG{D_FPyQ= zk2rHSX|@fG`rRkd%Q3;ci#J%C*C6>bE_RRyAh>CKeB8d8LY(lS>Q{KUck(%H@KVc`FE)Q3DjY)4ADfXB?-unR zrNy|0djsBOvK3KQ<@qQ*d+OFtLw8zgRn126ufBH!52YZ4`?r2p#%)2moNnIndk5Ga>bb5M&onwg zarK5!d183U*IMbdBe)@RFV#^K>=Q9Yhfw+9vAHsNS-KjKqCG&!iTz!fgxd;Rk@m8! z^0L5)5Uw7UBr!q)+Ap`NLbz{4{-4I)0<5ca`xpNbN=t`;G)N-~C<+o1(h^E4Azgw< zBPlHi(k&(3CDH-~GotJ~Pe?eq--$5p=@Ov);Wl%lLLE6xYVr*O4B*EKCdMZ?2a#{x2a zbKj3F>=?7w7@Go0w*%T%D7EHRbJE_kvT$iVeaZ}N)J|2&O9I#hk$D(@kMmZ}+DzFu zM##H9Q8t|E@Tdp7uZP$W5^@=@tRuFU&^HT4uHJn97*1m+v_}rN;d29UrzH@P7mfQ; zWf7igkpe5u%y%q%2qSdVD{*6Vnns^r zzkBxyzruCMfh^Q7{uJ0^IwJ{^vIu)xh+e{E!u!9}VDjhRGf2;{^E;OYrOLgBA2DHDHERc~EW@Jc0 z#zeF6^>ifg#SS}R4+3MhK@V;C{J9#?x@bs24bo{#RhBFi>#+?Wx$Tfhx~fJFEu+I{ z&~@*OY+qAOyA#L}mSq2BJ(r)VbQk94jVmQBw`o|s>LHu@N-T*|+VwFjQO;E zenNOA6xDK`^u>TD-yrO#uqkfy){V<2hvOA4cd6Scf$6XKfyvmO(d6*ToB_nWaGIWB zkM2K$Fq#PE95cr6kiSI$wA4r1B=%#-=G{5Br#&;V#7$MaxF+sZ$)!r*eU9aQGpgnA z{rhdPGODxR9b!MPP%xT=osAG@pv|G_QM-h?o59+GqbiMjXh?Ab==6n?({5kcIo@&Za@`dLBJD%8gLr}$Mvn=0c~rVK zoI<~LfecI z+yW~xM+4~aAu?eb#3^&2o<@ZJphTB z1|}!;ZtLapi47<@LAeiQFzWrWW4VbB-js5|!tx#ACKzqjx01R1Qqp*cCX8y-g6^qg zekAO#@K7TISz!S19FoKfM0M^yV<-1_2*z*R341m>+H@ue)z9DdFfXIsh~M+$RT*A6 zjfvv;FDDLH;#kvyr6dL3>UV;%Wo1uw&(q&LynXvPmChrggNe9jieANHKVLCa&Vf6C z^-;mPmBVBBUD*Td9CS1gBWGEfr@o^D*9fpd_h9U&?*+U{-qfCQ2tfgfmmvhFBi)^l z_1HV-`zC$n0!*3LommUoqu+vvHw6*#7Q|pFzWGUcAp3A4Hu12VUV$yt-epsogUt={_NTFxWb839YkFh7-u+vBoKZw-BA`S-vdE!`*P&E+aR771 zDCj-5eWneGu9U_UfW)`I0y|=SFTcgR6_+cTwP8BB_ZvMvzCm_Y+RpPD8u+cTO`UMe zr-@5gPXwv9;pYZh7=&b)PS$9ciTkb6Hn;lRXX_(^vgv`&a}8Z`s-3@ZvY-`U}aw*OHr{*kSU1D z!IK^iJ^$a(kPmi@;9PkR+!9uyf{#vx7zd%wzK_Ti{N1XAeHmun_J#6^2Fq(fAJLPK zU5fRVZ36H8N-Ul5`QCVQV&g-z{mIemoWc9Y9vP!?T16RqFo0s@Q~C9A`?04&@p;q6 zU3J`54veqNON<8$FsWZ zknp9k`31f1$Rh6v$9oFx?sE78@2C-D2~#0XvY`E&oI!2oBkddYYF?UxwFg&J*p4t0 z@+i3*?xZSOj|{C_r}7$T)WR`a}0Te8LE1-xBA7|gt{8Pag7_Dn!EI66Pg3XbBsq7Bl51EOIS{q3X!&s%`Vk#F=c`dw z$@+d+BzAz(`;12pi5A*V(}|RBNC$o96q2|AI(Vi(BwIAc$u+tI zW?B|j5!rqr+%knerA;k)lP@-0qH*dzC|LaFi5!vw2%#B0WeXwOvY^a6Pp-^U(^=y< zL60f$f%g7F123!MwJe-q9lhsYa8dmSatUH%QZ({W19+PDxR~hRSjf_i!4dKg$$+Th-eCB6&+|h=2*XbRK!921!syXM9ydf8#`l^+snkfjdH{u3`kN*@fZoBNE=KJ654s*l zuH+%o`{p}85CUGO`8FM0v1?8bdR!~^B4P_DFc>ZG2FXMo9F+7!LoJOFXuDUM;$`;?_E#sT*~IhvFP)Uh^VwPTF>T? z8{HVe`Z~qt?jMt^XX}tZa@!$}jvvE_zxl+PYtMfNYtGtA#>I8I!xTGH^ z>hd1s{mNP-teeo_!7TR)%^|O3LA&QiMm;IHJxRZO#dQ6$d-8AR)HlX0zhADnrX|$V zd7akx9XEo47Ms^V?Wh4rn;Q#9+b3=_`+OkBBpP!-VRwFS64@ zk@{LJkm##GY;#12&qguc1ndWZRW~RdVZwhzX??42dj1f~3K>Dwt(=wQqJS<`FdAp}hpGR9?^4A(vDp9SL(Wyd1S#O#%1g zPhHw~^4NsGFl$#-RLC8WOt6)Aq>8$ed0o9o^A-|jfdNjepBGMQr=`bEz5_aDVDVZK6SNO|bHuD}DI zK;a~7a}oZZRN!p5w?6&^M?Ca}C$SYXMJQPIKqd(5Tw32iI0hC6xFjRxKRwcbsAiJT zT^yJTC7gE#fie(%`}TvPh^cC~hE3PRfbKKF(IQ7^K(64{<#}lF9B$2EMf{Pyf=qRw zi++shXl<=X?Q5*R?v`;2t~UIF76J0w)bX=(AVaV~=HnQpD-+y=KCyF;&;6{S?Qe}$ zcsONIF)=Y8-1dJaT0^XHR`MeB;q5crWy#rr5Lc81#*IF!5f!qq;10NCYFUCY1VY`@ zD|;3rG&D3(9y+~_R*wTm*ObZ&mRc>3AXyMFj@L2^iGPEq+f}r2G=x^==)$5yZ&#BM z9(&!Q1@UU&ul6syGE1a)1{lSfnws=OUZCwTeuZca4#I~|&I~;R5YrUk!PNe!6J`~M}OSC`^Jr+uU~(b z_s>30A6eBK-qgaBFphgmk!y*rMA!e~7A@eg>Oo|xWFRg0G*@a_3kkgDs*X)Fd?{&E zQjrx0`RnIe}55e3f^kD1L)zdIv(%O2+D( zpQS(6zNzIW!L6dg6%PL2TNB@Lnfsm|ev8PD=r$FtZY3ivA>gGfY%x%4kkTKo-GBKq zULeU3FL3btHDTIWQ9A5jijM`kxVT^>6d9r!@;Deb`~9<^1b2f(RXo*Y9tSCl!Q}%T zq*q`_NXYB2eA+(w&MwIWQ{9oWjze9;KheGrGaj64s50@04IX7XKAAsuQzsrFg`7P0 zv!5krxCpcb?8!Dv+IRysErK=RZcs-uroBA4>pBnpV#w$-9gw|%Cg^nMwMa>jn`y%nv#S&rFJ>Js*FR~G&9Q9k>LZ`DeJu1^7}QjO0)c6m z05G4xWa!qeF8TDwOpm@)+f0-K4JiUc2mPH)9vcu`Wc)CdYiaqm?R)H|?c>lzv$`kq z18U%dG^$e<)W2Nck$F2h&HNr+gAJ*)2T(Z{r%ch4b=IpiKxo(*CwBm$N=wA~JTg@w!aNRHCW z%il81xCRis)b*3#$cZ9|xiNN0C0ICfy!dJ$K})xEPGX6;-m83q;ezo}|JL}~TU4%e z3h58z>9HLV3p8T)9Zx&G4C!V+ZYZEoP=g z?p@9jc_c{>!xhm{9$W4+%=Ypu$YkDG#JUYJl;`sx`5feV&~1AK=0IZ`*<_JgRViP! z{W(@GM6+K=xVu?pI&$^T_u1zh&y}mJ<7qDqjcp7#<@b7u{XG6-&>tTqZcchBu*F_a z=E%S8j}hn#QP*|pqA)pCuYAd5ZQH%~n%`B`X+*a#}tbq~G zpb^b2D(cM*vwkvzNKRqCROHOjyNry#T8rJ?@=b^P??_lNbUoJ~?DN9GEA~gRadGy? z2R0(m+>BM*=%!C;-$>%(;@9+cvPw~wGKmaVXlO7$IPPZ)32~HEx)jJXAK&XHlPViF zb!mD*B8gqTq>b@qE%Lm_=Hz7m$a_MAdhoPnh3EVi9!fAK#?_)A;>VRPrH;AQzzU-r ztuM>_$Us}L-XjY&;f7hcX$?_fH|-Ei^aKQrwdiL4{+XpU@%Rcd%y#E^<{SZa5D)%C z3gYWb?ud$W=Z)7Z_7HF(^tkjk7-h}nj5`G9 zJ12Y9w2Cy_L=1@);z&lOL1EE*pg=*7$Wjr!%7P=xF`PZ*gXTiVWO2Zo!v%qia-b{@1(1vgODB|kU@vbfkpIYT1ZG}9`Z3YhaxB9 zWT~*Quz&{QK7zp4^k`4E)U*&_ybw7}{}}}B+JRYOcum1kMeV4^V574n9b^yy3x^zx zHw;)lgMo`XH3~~AHa0~sc=En?zH&V5<;6x{C#)VBbb}-&`8xt%oV}pb1>UFqm)|QS z%>@*DkdXsb63d45(%~_D7lDnc>S~0B9dONaie#Dxiz_01#{l^wKR>^!xpNRxCQ#&aGQW zju96oRI`I*@1KilGS@@0D)(dL$;f(IwWi>#vdARZZzibA4c36Dn!b#Q;0=D=y}doi z!&H>_8Y9GUt+PB7Q6EVWCxAi1kXW;P45}?S@dgqTz<&Xw34o`IPf0~I%kTg>lh|I#F6kEeSFYT{Y*doF=NncxLNox$p;yb$SE|wz7IHW`?2-)!td)&Y_H;* zEg>5X9)T>zbzt>T5lk;d`W8TNkbkhmq{QV6-e;ecBbLY{oaYm(&!6v4k}e0PdZ^bv zP*ik8F%;c?XTp^t_PV8|MKDxNcuo0T`0LmA?`=H?ZYA5$v&isZb=9K&;JZ~~hcCnZ zduQSzZ}Ux_nVQPjZ}#*kz8zzQAuT~_EAV!S{SRb}&Wvuu(@F~%1 zgk2hWc!(?=B`8kLyFLk_P*ze}vKi2Pe<&5&HrWr^VY%OxYb2F9y@30QuB@k8dS`l{ zolKr2XZ`ePM>uN(goomSfqkxJm-%@aN16sJHah4Wzo(m;_H8(EW#j-5jN2lQ%u-ou z25|)y9M4yu7{ks;V$(1SupkW^*xcF7SBN?q43h?Z9F=;+vij9f+jNRBvT zHo}SJU8CBHQTzmIEkzsgr6bpn!Fe56sANEwhK0oLc zXH7n=<>9fJs` zR}N~bU?~P{$$>Vxktb|xmRRU$+ahUuN*IsaRfY_N79)G4>J-H-m3SYAiCOQC>l8Dt zp*zAvJ}o`Hp6c1p02 znes2{z6|UcPRNW}2uhUHqPy!s1rOF`>BBL>MWY4pwzWYAm0#~-ySq=~YQDr4yq&n~ z_A9p%U7XYFU~49Ak<#iJ56znK%OEcRFp&V}oj9+fxN)HdQ!oS&^*_m=*YPALg`AXgKOS9k9~z{pafGvzV`SdAbaJSTR#s@v)Wd@ot}sBk zA%=^P+W;(;0#j6QdRxK<@_gz93Pd?74j02gpgH=d*zG}GP9a! z4_)O?6WA|Y-{{k(pZ7v2A+Vak5b=2c!z=Ha;4p_UA?*S*$m^4}H;Q1c4t#gt&Wpkc z?M;wTqNt*>a8>LGC%>RT6=u?fng-EUl$LtK!pf|zt^MI(jAJBPT3+r8Co45{pnR2F zQWrHeG~Rvum{@J1?ES~V;%&)UGU*y^M>+)g!Q%Pgv_TE^kwZUzwYZvwiN&NAj7MjLxURIlDC(8NLDjIKB)c;~j*IU~TFCV1!gj0?sfJ~S`Eg#gUYi-Gj>9T`FNAxw@dBrF$aL)hm}X>M-YGI%!> z)voplOapeInl<^+5x^TsqBo(<(~|D@3aK%?#jx5uiH$0PX8C-9^}dQU36$R}>YuNT z@OY5n&V684bLKUqdtvq~lqpe~xCwjtz1ScjC2V3$CO=iwoAv$LEQAfQzMaiJtNZ$U zaEQ!t<@$nz^XIhp!ml^5a(KbA1t`-Y8vfA@^V&2kAO6x%D66U#c z&|&mJDDCvDQ1_iJ)Xs1dWVtE2Kaxth+MS=hEG#TEfM*!l<-2_Ax}DL!(`TOKUT8f1 zGa>07=^VQ?oxQ0SFogd5&&2wn*%W%rhM*Vd;tKCbL}L{`1Bo}fyCji`Z_sZiPAOMI z@e}xv?>6;P7xV9|QRG5jf%1l6Ix5Jh>-OQ2;&9lS7WII`73EET`a|}@K>#vZHb_mT zMqCu6FO7RCTL$*_#IRFAK_D=x!axyfXlr{3DCiH4YZMTh6$UzH$vSCdW0k_mbWg~G zR<8c^V8Uf7MiX%*A=G;9uTXXg#2s}4x!s>Z-=|})`FG8-8(!DJs)G0|Fr?AJ`0C)n z9F+wad)fgNi^CF)D!TP_{bkS$NrE~B0vYemMbpW3+@tkku`Nxj-AVI3O zn1zlqs{1oDmu(1RD-&nmp0kY@5D7ZfS&qAPP~$T}B9CxM%{$L;w{zj^u}Y3n$aMH$ zvLmIv&HJKxW*zI<;@*JJvqi>ga?hW&MC8p%cC&1^;;;6i7_K;w>PfV5MC!)J>k%lV z6DeK_oEK$IOY6fg6N1(QHhlSsuWHChy&Bgeo%ACEpsiqLYd7 zprF?y$ZIO}354#^O#D1zD-ntmk)h49MU-&hA_~#M#-N!bi&kvr*N9!-{mJdfz zZ4BRjw5QT{+P{$YU6kdzneT#Kb=AWv>*^-4jcdQ=$EcubB-X}zRzNHzxK}S9C(l&`*(yorb#U9X+7I%@5>haRscf_t=f6KyM zkeGO_#s0&$exE;$cdb`9W7mfd_c^3YZ|mxeKCiAKhbxO&LsM~j%CTir%;*EhyQ=R8 zYQ2yk%X4e7dWVFi*JT=Lge52Cziu8IrV1!5-Kz^EYhAUbnwnYH%%c4@e8`H!UnR7d zhr29yrF^s)YBf6IYkjx>Ngp`FVF{ zX%CxK;FXFmiZT`2HANbuYTU*mav`v=*}01^Qi{}@DUm+^OtC4%CB?tn9iC3ybFdSQmhaBaU`Jz=>QE6v=ZXVO=S z>+!~q%>P-SM2gAfLCcnMtiM0tDD!(v*{9!o*p{87S^|cIcu%fH52erYj)ZD4t2=N_ z-rncI4+X`RsK6`X5=sCTc=r$TN1kRV!;M|p|Fmew9B%#)^>6&7n`$7)KJXW1dwD%`c!M;{iKGTI5X zT_JzP(%%soNH+{Tf_5EBk-|A4wqfM0$(m53akJk}T!+`ZuORRKp+>wDeBbms$8_n6M5WMsar z9~OL_HtY0HiCoFX&P~NO&3DlLn(NVycEpm`E{=kmYs5sFWRhm_OCYHlmq7ZTXKOUo zg8=n5U}*eXS>JqX&#vNU(rgmq3`vjs`XiS@-v-1=4q#rb?ja{Nw{79!anFt!<*bSO zFozZXxg@kEeZG zq+ykjKfbN)VJG0 zTNOE%sv8Tgpw+b?FnO}wx)f!4!-+8OJfh1{qm+BZCE_n9uHo^ya_8MYmjc zqH=vwHlbF%cG;B<4+CRhBnJXhjk*D*%@(?S2XI_u8-gWUUSQhVxi@CNu2ny6y?Qpw z(Z1;ut3R|$J{*u)3>r)Z)~xV=!e*l$h>BR+M+mHjvN9u(i-Y>C%sk0R<5 zJB?eHEmyJ%kk1Im?t#XJYFH4g(``Ec2P5ThKeF9SGcONz4}Lshl*g)$$pvh;&G4l@ zJzFo~F;+K*(qzHiiG3Ue12PN};*sICFD|x|rmylQJH6LYhwH*~HEf&xa9ApE( z(#aTn60aiH7V(KABh8VR6J%r)AQ;!E*a=)jA-Ss*ngf-)N0`10e+OZMC{S80*!Qh+ zp|DlTEzczvoja>PSBd>4tcc))sZ|Q35NP@-L^|Y~v>HBde)3cnsv;&grjJsq3~51G z|G}!w_=%b^J6fpmVfP16Ah_|m%NtonZ=c_<^74VNn;)Xam*0PFdLuSR;TVfDFH^*R zcTr9ck^~?Q2pF<480`|Qjt(j~$eBTgMIj#@JQPMQE+770&(MC~{-jLQJaPXwwfl*v zB}+Rr6nZFHyRh4uMOEfSU1Ek91I5a@LPyTs`&HJM6c|vOt&&5fC1Sy5uM_Yu{5#z8 zuvKq3^!4jz^Rld8G1+LH7p^6dwKElqizMnit!bsW1hrQG`e9~ciHf73x0(-`S}Kyo zkDB$Td?GF_eF4EH0c0Hh2#!c_jho9H07wbi!*WwGO+=@S05S!(5Y7vswBQ{`Ql%NM zZ-m*(26lGWn427w;3W{33aZ)bbkvJ{j3z^C7N6Em?0n<4RSLE&y$ppr-~OkW^}sQ< zPugqIOp%wO?v%a#RL%ttg%1{AdTuP#||xaE&tM2%UkA9ag0 zoFh%jH9I}Vk2hXZgtAa&`g&(SxSu#SG#hdr@m7}KLG=v}AFJ51C>?irn8hF5w)SF? zH_=5D3@T^_8%lP`zjXfM@mGhtFB}q|PngnB&-al+N;z$ZAxH;94&B||`LoJsrP*kq z=Z7R6t%?*Q)}+zV!9hO&(UOH7*tibLr9l#lGN^uK_LyWm`?&*ahJ&hsrssqbtukeX zujQGU0sp(8h@bH2hS#UY7HJ5Pn4PXwp@};;6mDO5psk+JbP)2YHzp=NRAz4~MRo1P zyxOyp7an;vl+|`8vb}2TEYeI$m$0f|I4flEChceVqTuuk8j`CJ=8)CcwDRlrUs|=u z3y)k;eOiQnNz+Kj{4URv*iQy*BXAAf~1E(nbbsP~pmg-H(NYJ5FFC!-*Mg~`%a#5-z9&J<5kC}pqFBg%r%3!jc(aAhi}}$-H@5KaQVsc+Q0R; zCwJ4S_Fb||ZJDW-H|8lZ(4-e{OzZ=JX2HQJ+Q>FCY$;37uwUL{;fFTiY}_OkCCZUOfwX8#EgE#lU^0yBD_LVN|12kPw-txAMhfA(h$$tVDwG3U6Ag+*jW#QzNt zzx>~TxG70CEiElf*tklzkp>t#NLJMw8Z{1CV*2n$!cV9{htWShU2L8<#Z`0wpbxoM zoyHk}bn>Hb^9g(nDn$l;`_7JUw0Y8Cc&eE{3o6{c^uRt3oySW(KDtnHS5X1)?6{(D zdqV5=M~8&%OWq3Pv#8#R^IU^C0T?jN0Pd5~9ya=}C5-hBt*JI`i`LKb=*d z{+_)_&v0OYUlwQ794qNAT^M5JJr|7@5PGrxw;v@kl1}*3R=}&C+Z4Zp|(|=Oy`(vu^L);3Z zmywN#(Y0ns8>V(%7uR&y{Br|mhzUut0RZh5TDDsLbTBU>rt zYTE-vZh@Vo)M*%bH+3aD<|4^Pw{+s8O-Q`N=-ZQHx=FfNJ-D>^v-WBaq3F^3=jrkB zKT+a3j^f>qZhKJyTgM_F{5r3=`19R~yXzGjT$NmyWu^dM8BWv?R=*rd!?C&ljsgd2 zgOS$(*Gcv$2LZhe2Xz35ktqOi_AP>cf(RB6M~=Qe<9Uj{J+(?Z2qbwH)p)((st(I? zI9Lj#hMh8Id)m@~Fk$84lW9Fh3du-(_=a;Z@C$B_N-b}W$e}7B03B*{pcd6cYm;89 z=(`&VTKKFW3#Np^hh0oL@Fu@OYxq9CGg<*&+!F3ETQ-~dWB2@M4AHaBEd>~^q?XF{ zw@9sg;H8S>1i~Y{6nuTLbw2?H$X!TXLDq9mUmu1GyN+vWT!v5NeK>qsiu$|0D^Ln5 z)?Z9racHz?w%iJ)?ghN}p)IpAIkIp8hnOZn3=W@sIw@0bEqx$v8N0-s%@ND0-rhqPxw_JK%TdYaqVb zb&~O8lM>?>I@u=S#WH~u0d+I~YZ16H5TY(;e4Rh~R>dh?Sh=-`Vy7BbCxY?stauNa z{(k_hmkGB1P9wig3l?gDdCY_9zx$30metQ8w*6LexQdu!;~RLEB2 zHacYE=m4`v@)rzE770wcNy!jWxu(qV$^N4Cl+GKu%0J($nSLad5&+-@v>#`o5@w%j&It|PKl%3 zb#)Qv7{G1O3~&U)fI=MA6Mm_kK$Ix4d<2!$4zBH_3%yTsow?0aooyNx@-xbw*gG9e zZS)~SDGHHP3{Qyd7fxxg>uJQ-rYAj`BE@;G+fIG-e(C2C(l-ZB0+sRY?EV@NOdMXxg6G^`riDajw1L~RRz z$Eq#2P$rM@Nm^47pGey_&irszh}_A^<2VugQK73mhE~aZR>K;k7@zouR9xlNb>=gv zpmUp1N_DTqj7>dTk>9>af7B0}X5hKMJi5GM@BLi4JN&eas#tWaHFPgNmJz%YcAR$P-CM{2T z%qaogA-Vr9mKg9wwm{}ghwoCvHq_lZ+I|wf<@@1+RIlwp;6sL;b{afVY>ohT zMf57gQt%&?O=vo9sp*!6~-L>I0J1Kz_}N`*o}JAlpO zZy=P2w|-fbJ3^cX1KMdbUEPP>rpL#CSiKkVg4P)nTOo&*Daue8vkq7Jw<16!AefjP zhK2^HUe6|t>GeadF6awa@75@hL5B*7_HAjQrR68gjyXwL zEWkxev+H!rHD^Y1h!R$Cy^t` zQ#LEo_YG zOR_E%qX?PPi!a6raHqPYwl3bM79yPZgnCCMqf)q1@%u$pB=19sC)Ly>nGHG}mS?NA zVs0nub%C`3uqdLGJ${-%gCAl_?Ml}@IGDc=7d6z!`-O+Y3k_Az^vrvzY$|u|I~ISL zYlfQrv5E!}!-uJmUFy2W_6_UjyX@Q*U%nf5s50JFG!jU1oRD|q!BqWP+R5tuS}Jd5 zCYdZfT2|`LZQgfv?s!k!H{@u=Jf#Q2TMd1uo@AOQo$Ax=7|&}fBg^_cGxMfl&FK9O z+M7P&2CAycWLWT(m@>YLO%QJBna(`pe%Rc~eOotVwLO@h~Bf1mFdBqy;mkme%}t=PAS4#P-mdtp)A{ z;R4-3q=la=gIe0Sk)B)})~0bGRvou3GY$|>jpdZRPp$5NiY70{zW<12X_9xM&b&jn zObrl~_wQ@xo9T=_t_``4x9#(4G^^-H9epRl0L*0zyvMJY7E+ar*XCedrFQvx%1}%f zg#?j3x{vfLNd>!GiX0bA*v2*lODC+d(mi-2(^=)%&G6V1r)<%lY|+wQA|=?Nq+(On zmU5`dBJr5S%%N)B{O~QEbAIvOx!Xi3)nLhs$dWHwd7BdX*G13rrdstvHIR=KcyHD^ z=nf~gT*e!M))JYq>^nDa-wD;pQQx5peNnz^O;BbwNFfo8r&!1;1IYfORr`{q_XN-V z^HF*F_>?fys>ckTFKdY!+J1hKS=8VwBnbS%NTAtmI6ov}5!;qbHz!1+bb3!=+NmsK zSwA292CU*n-YyAN79dh;iU>&D`zubq2pm>MdWH->Au%`_V4y*=Iz88IL&G=F4p zZ+V}9TcVOKrYdh|W;Q<7pB8ozsbBt>*+Y4h#U5*08e1j5lo7WQ zruHj(M66e=KC(}KQ9}j9%=@K><3G^=ZpTqug*#|aQl>zfxwwI&ik6=JKu!DowY2yY zWp$^K*^xEcOI|vYnpZSc1Bk zF`(n*n8`La(jZU!q+wS_t~y*%R3w*#rFi$&O?AVBu2?$ws<2yW2nzNqdS+Og+lYo5 zeB;Eq>Dt!6Qej|fD!i1%Q8f2lNZ8WAK*H^rfdLZbn^E^IuEte87PttjClj_h`B5sy>Ey7Neuki}i}%*D6G!cBJy8UgZ+e z55!fqW@G`*D9{qj1yY1PQ=>2KWW1D&c1GBryoX-_6VL8#> zc|=j05rWT$h9|j!w__gr!g`$M=`C?53 zaPWUNLGhVw9f$3k0UjNKUd4C-!q;rYn+Q~mogtFW=$XN;g^vkaTIrWqf1`?1pxUr~ zwe%yzSwjMZOX4s&{x$^yZ7Tn&7%2a{VnF_@iOT%<_kgq+CB-|1sUUD{Wa|i-l9@_x zK;OJyLCb}}FX^S}{($qm6U^0qvJS6JrsdH^ctMv-V2bHryf|k`<>U3xzQBud3OeN8 z4VC70wPbh)q-}2CUErW-;}e4C(WCL#gq$f}S|55~YxJR0@Z?+eA;3~)n3(^eF9GPy za!pMIES=@k$m6BIP-&lDY5DW&lQReylNq?`7OyuVuf>K=Mb#Caf;=I_NrACRuohMeY$m0n^5)us1>iBineVh%T|r!O+*gQ z%2nwb`y+#vSBa-Pp8|&dy>mwr^N7oCTY#s?=4RrDrQAmev7)Ir znW!p1Em=NDZgmQOo3`>|Ad&vQe%`Tv4==PbQRy*|Crg4w}3Ze>?nO6K+(P3S)`_j1z5 z6Q-c&OscPU>WS08z183qbGoGnoBX$_h6_-h#1){Wq_DX(I3$`peHxm0u&5ha?(oTw z=Jst~1|qFj-NPvO3D^hM52)cl^IKp;wMlRO_@Si5EpscSYT#IrMVDLV*Z#1=M8-!w zg8Y50J5ZT&Sa-iPZ7gZ3b4w-k{= z6-bc>L&N2BmUelz&$J$AgKd>WMt5b z$#Dxc+N55Y)iEP}BiIH{PYJ!qgajXE^9+`c!u1#&?A~@;$@*hk;|=x3?bHNq@DE9{ zS7w!NIN_CQz20_liSLaXIPQ3(FX4Phk#~tSMrR-0r#-9O$HyOklR=fUGjMTOij77{ z^Ul@BKnbZ4YvFq*%>r$O@S==fJV3={5_O4td>Ts47sa)w{@=L*jz{J}X(&|tgSteQ zzYK$M0X%kYT`q61fRqh6A{Ap1ULZ^p9VQC_{098@gx=-Xi*MSSvRm3i28M7O? zy|WxgIQVTWA3fLtlbf^qNqRO>Ptcw^hVQOu*|Df;f6!w1r@Lty_F}es%tJf@! zqKXSgRy7tQ%ZJfP1~Diw&=mg%^iCqhW|xfC*-FaDe=a~(Dc>($G&!VUg1TPaVGyZ= zQnTf1g+m(_XVagDA~$1{42(!CVYh#uLoXwa;UhilCh`od;}4^cJSd=AdmFU5F0f?R zd4A^CwDHIHhTYMRuX4AnQbN8+HpIEjJv+E(O$y|ReB^yNa)NIC3!En+pQV@__?`_9 z*|MC2T6pfiIfuMU&lU|!%35392a2;TOUhRG&VRux+r*~RLKE&_!n&NHy58kb_m4C{ zz9Y`f-4L%sj0H$^vS0yWT2Q#~1b;*xN!fzJmZeX-zbeT@1$RY&RsuWz^nxzQ8V1moJbE+dgr_#%-0W-AIkQ^$ zu+T2zaih42iBh;VC0|Su7ja7Ha>kt;DFn@L&k%8rg6ET+DGTA6qO{)hei~h~GJ4G8 zHS|rFkIMs1W5gIxgn#qv{A-_s13{`siX=TkP>uRX(#iHc>q~(#nw-+ozPNr-yEwOjV(`|UXl3nYvl_e@ieW>I>8@L zuB-TBH=B3EF1Xu_A9+4Kbv+H^Cll_gtemZH@dkv1n8~UhV^&T2!U3c>0oK-LZsB_I zVyi0ymI_F?lS1YkkT>#v|2{uCSbg@2hK8P`LU$_dINuYUR12TEdPd5r1a`756nPxy zxALpUGtUIt^o=zhK1}~_rTaI{`xeg$nmPQ?CMyCP1vkYo)rsiez@p2M}{8|>ax>LU)a4O@$ez}LCr=7R?`uxOyy}% z16lVYXSUs5!DhQIRI4<`lM@L*pa4o@1lse*&&|(0{&>HaVz`2)8$#U$7WLKs3-!JM zz%w2=urh{*htuooAk4UDwkt+|eshZ5sLb8pDYO&iH%DweY2FroCCuD*Q)jf#4>Z*; zoE;ZF^<2<9S|Xneo0eXu10;$hKo)<@d@|@t*qv{aF?CxvNphv-|4X-xozV=C{L`7c zGzS|BDHZpLvc=*5AB-OuriC@mVB4@`AtDF(#m@OxEQ8dD(ii@B_$l!!jFo%^z6@rW zs1$61&6%b*;0AOQu5)gX=)+*TlKo5M-I-$6Q^C^&Ov_Zr5hs!+{%i5zl8XHFC!pPk zqx7m&arz2cWVo6e-2*SSfwIIiMRY+GWYRP0?%D6BlXbERZA9`A!xM-I2T|LZ^ryMa z(?qoasaR5+@*A$=rwRAlEsudL5V7B$mGFQ8ZY}fkOfWhIC>V=duf(}2S|=xI0Y3w~SJ3v&B*Ur>%r1H7nw2~@+TiBqMyTj?cct9jo*R9C!xO+e zhPNRbBGb9W(b?Cww zN#pqcxct{(RnNif_;$p<_L31qxWdj`)9sMx=LbUB!io1Q9Ffo9^_O1Ni_t(j98qXH z5}HE(oeyBb*^(R0t_1+6DfcuTF|uGcURnC8@AY+<^tlzP!;rOx> zg4`HFcenY@cljWX1N>4gAftHI)zwv44H2CZ@V=ve-?!)tUzMz#ukp7eVnmci{mP(h z`0;Rr5BwyaM@w-=#qU-)8g`E|&J;_YyL~ynp>?(1VI}-GVo-v&C#82^FY~=4$LH1` z`efWq6pU2!`X}xBL5TT`S0=MR`DMc3Ui6bA7gewKn!*j0e{TF;*w8w~|Mnsn - - - - - - - - - - - image/svg+xml - - - - - - - - - Compute Nodecompute1 - - - - Network Nodenetwork - - - - Controller Nodecontroller - - - - - - DatabaseMySQL or MariaDB - - Message BrokerRabbitMQ or Qpid - Supporting Services - - - - - ComputeNova Management - - NetworkingNeutron ServerML2 Plug-In - - Image ServiceGlance - - IdentityKeystone - - DashboardHorizon - Basic Services - - Optional Services - - Block StorageCinder Management - - Object StorageSwift Proxy - - OrchestrationHeat - - TelemetryCeilometer Core - - Database ServiceTrove Management - - - - 1: Management 10.0.0.11/24 - Network Interfaces - - - - - NetworkingML2 Plug-InLayer 2 Agent (OVS)Layer 3 AgentDHCP Agent - Basic Services - - - - - 1: Management10.0.0.21/24 - Network Interfaces - - - 3: External(unnumbered) - 2: Instance Tunnels10.0.1.21/24 - - - - Optional Services - - TelemetryCeilometer Agent - - - - - 1: Management10.0.0.31/24 - - 2: Instance Tunnels10.0.1.31/24 - Network Interfaces - - - - - ComputeNova HypervisorKVM or QEMU - - NetworkingML2 Plug-InLayer 2 Agent (OVS) - Basic Services - - - diff --git a/doc/install-guide/figures/installguide_arch-nova.png b/doc/install-guide/figures/installguide_arch-nova.png deleted file mode 100644 index 5ac7f7807324686c1b722bf48163cf7e6516983f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42523 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 diff --git a/doc/install-guide/figures/installguide_arch-nova.svg b/doc/install-guide/figures/installguide_arch-nova.svg deleted file mode 100644 index fdfdc58a34..0000000000 --- a/doc/install-guide/figures/installguide_arch-nova.svg +++ /dev/null @@ -1,737 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - Compute Nodecompute1 - - - - - Controller Nodecontroller - - - - ComputeNova HypervisorKVM or QEMUNova Networking - Basic Services - - - - - TelemetryCeilometer Agent - Optional Services - - - - - 1: Management10.0.0.31/24 - - 2: External(unnumbered) - Network Interfaces - - - - - - - - ComputeNova Management - Image ServiceGlance - IdentityKeystone - DashboardHorizon - Basic Services - - - - - - - - - Block StorageCinder Management - Object StorageSwift Proxy - OrchestrationHeat - TelemetryCeilometer Core - Database ServiceTrove Management - Optional Services - - - - - DatabaseMySQL or MariaDB - - Message BrokerRabbitMQ or Qpid - Supporting Services - - - - - 1: Management10.0.0.11/24 - Network Interfaces - - - diff --git a/doc/install-guide/figures/installguide_neutron-initial-networks.png b/doc/install-guide/figures/installguide_neutron-initial-networks.png deleted file mode 100644 index 8c39dc652c2fccce47aaf3317b317f3ee159181d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48910 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

    aR&nUnCIH~n%yKclhFE9Q$0u9RQTAM?G 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 SWHf|;A35nKQbiI5pZ*JP9{s%l diff --git a/doc/install-guide/figures/installguide_neutron-initial-networks.svg b/doc/install-guide/figures/installguide_neutron-initial-networks.svg deleted file mode 100644 index 700317bace..0000000000 --- a/doc/install-guide/figures/installguide_neutron-initial-networks.svg +++ /dev/null @@ -1,622 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - Network Interfaces - - Network Nodenetwork - - External Network Interface(unnumbered) - - Compute Nodecompute1 - - Tenant Virtual Network (demo-net)Subnet: 192.168.1.0/24 (demo-subnet)Gateway: 192.168.1.1 - - External Virtual Network (ext-net)Subnet: 203.0.113.0/24 (ext-subnet)Gateway: 203.0.113.1 - - Instance Tunnels Interface10.0.1.21/24 - Network Interfaces - - External Physical NetworkSubnet: 203.0.113.0/24 - - - Instance Tunnels Interface10.0.1.31/24 - Tenant Virtual Router (demo-router) - - Instance (demo1)Subnet: 192.168.1.0/24 (demo-subnet) - - External Physical RouterIP Address: 203.0.113.1 - - - - - - - - - - - Internet - - - External Physical Switch - - diff --git a/doc/install-guide/figures/networking-interactions-swift.png b/doc/install-guide/figures/networking-interactions-swift.png deleted file mode 100644 index f2e7eca617440be8eb70ef67cd71ee8beecf447d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52428 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%0AcAE{+f5M~N8x4d#()`f~HQ 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 diff --git a/doc/install-guide/figures/networking-interactions-swift.svg b/doc/install-guide/figures/networking-interactions-swift.svg deleted file mode 100644 index 8b50b6d4fa..0000000000 --- a/doc/install-guide/figures/networking-interactions-swift.svg +++ /dev/null @@ -1,790 +0,0 @@ - - - - - 2014-03-28 03:35Z - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Canvas 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - swift-container-server - - - - Storage nodes - - - - Public - - - - Replication (optional) - - - - Storage Network - - - - - OpenStack - Dashboard - - - - OpenStack Identity - - - - - - all storage nodes - - - - Networks - - - - - - swift-proxy-server - - - Cloud controller/ - Proxy server - - - Networking inter- - communications - - - - - - swift-account-server - - - - - - - swift-object-server - - - - - - - - - memcached service - - - - - - - rsync - - - - Tenant API - SQLite - - - - diff --git a/doc/install-guide/figures/nova-external-1.png b/doc/install-guide/figures/nova-external-1.png deleted file mode 100644 index 5d0542d96d89fd800f4c7815ea714fceb21f32ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115091 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 Jw9&Ix{0o-l3?Kji diff --git a/doc/install-guide/figures/nova-external-1.svg b/doc/install-guide/figures/nova-external-1.svg deleted file mode 100644 index af23975482..0000000000 --- a/doc/install-guide/figures/nova-external-1.svg +++ /dev/null @@ -1,1176 +0,0 @@ - - - - - 2012-06-13 02:39Z - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Canvas 1 - - - Layer 1 - - - - - - - - - - - - - - - - - - - - - - - - MySQL/PostgreSQL - - - - - - - dnsmasq - - - - - - - nova- - network - - - - - - - - iptables - - - - - - - Linux - bridging - - - - - - - Linux - VLANs - - - - - - - KVM - - - - - - - libvirt - - - - - - - - nova- - compute - - - - - - - - - - - openstack - dashboard - - - - - - - apache - - - - - - - - novnc - - - - - - - - - memcache - - - - - - - - Cinder - - - - - - - L - VM - - - - - - - - IET - - - - - - - - open-iscsi - - - - - - - - All Compute services interact with a messaging service and database, such as MySQL - - - - - - - - - - - - - - - - - - - - - - - RabbitMQ/Qpid/0MQ - - - All network components interact - through the Linux networking stack - - - - - diff --git a/doc/install-guide/figures/nova-external-2.png b/doc/install-guide/figures/nova-external-2.png deleted file mode 100644 index 1c1ce6046df92d625ee03d588403d6e83398e67c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55089 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 UOI3+4Ym2VgJl8VEH9LOqcUk(Wg8%>k diff --git a/doc/install-guide/figures/nova-external-2.svg b/doc/install-guide/figures/nova-external-2.svg deleted file mode 100644 index ebba5277f4..0000000000 --- a/doc/install-guide/figures/nova-external-2.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -2012-06-26 20:47ZCanvas 2Layer 1PostgreSQLdnsmasqnova-networkiptablesLinuxbridgingLinuxVLANsXCPxapinova-computeopenstackdashboardnginxnovncMySQLCinderSANopen-iscsiAll Compute services interact with Qpid and PostgreSQLQpidAll network components interactthrough the Linux networking stack diff --git a/doc/install-guide/figures/nova-external.graffle b/doc/install-guide/figures/nova-external.graffle deleted file mode 100644 index fedd8f081d..0000000000 --- a/doc/install-guide/figures/nova-external.graffle +++ /dev/null @@ -1,2840 +0,0 @@ - - - - - ApplicationVersion - - com.omnigroup.OmniGrafflePro.MacAppStore - 139.7 - - CreationDate - 2012-05-12 19:30:00 +0000 - Creator - Lorin Hochstein - GraphDocumentVersion - 8 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 1 - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2012-06-26 20:47:40 +0000 - Modifier - Lorin Hochstein - NotesVisible - NO - OriginVisible - NO - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 41 - - NSHorizonalPagination - - int - 0 - - NSLeftMargin - - float - 18 - - NSOrientation - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwGG - - NSPaperSize - - size - {792, 612} - - NSPrintReverseOrientation - - int - 0 - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {756, 1106}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Class - LineGraphic - Head - - ID - 15 - - ID - 109 - Points - - {332.21428788194891, 466.99994540648248} - {333.28573293937148, 539.50005459314184} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 17 - - - - Bounds - {{410, 561}, {186, 28}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 108 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Pad - 0 - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural - -\f0\fs24 \cf0 All network components interact\ -through the Linux networking stack} - VerticalPad - 0 - - Wrap - NO - - - Bounds - {{478.2251, 152}, {55, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 106 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 RabbitMQ} - VerticalPad - 0 - - Wrap - NO - - - Class - Group - Graphics - - - Bounds - {{453.40039000000002, 183.89878999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 96 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{468.80466000000001, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 97 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{518.01813000000004, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 98 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{509.81598000000002, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 99 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{493.41107, 183.89886000000001}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 100 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{501.61383000000001, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 101 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{485.20891999999998, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 102 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{477.00677000000002, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 103 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{526.22020999999995, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 104 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{463.12891000000002, 169.99997999999999}, {84.034508000000002, 35.999865999999997}} - Class - ShapedGraphic - ID - 105 - Magnets - - {-0.5, 5.9604598999999998e-08} - {0.5, 5.9604598999999998e-08} - - Shape - ParallelLines - - - ID - 95 - - - Bounds - {{426.5, 123}, {305, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 48 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 All Compute services interact with RabbitMQ and MySQL} - VerticalPad - 0 - - Wrap - NO - - - Class - LineGraphic - Head - - ID - 39 - - ID - 44 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {364.99817876204622, 449.67583154739242} - {443, 443} - {442.56531529246348, 346.49999492689739} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 17 - - - - Class - LineGraphic - Head - - ID - 35 - - ID - 42 - Points - - {585.41875060415782, 346.29148007990523} - {657.08125075451107, 397.70851991980311} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 37 - - - - Class - LineGraphic - Head - - ID - 37 - - ID - 41 - Points - - {475.5, 332.00000001078166} - {532.5, 332.00000002940453} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 39 - - - - Class - LineGraphic - Head - - ID - 39 - - ID - 40 - Points - - {369.50001850699363, 332} - {409.49999999300627, 332} - - Style - - stroke - - HeadArrow - 0 - Legacy - - TailArrow - 0 - - - Tail - - ID - 20 - - - - Bounds - {{410, 318}, {65, 28}} - Class - ShapedGraphic - ID - 39 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 open-iscsi} - - - - Class - LineGraphic - Head - - ID - 37 - - ID - 38 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {639.49998149317275, 332.00000303032465} - {598.50000000682724, 332.00000634347646} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 34 - - - - Bounds - {{533, 318}, {65, 28}} - Class - ShapedGraphic - ID - 37 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 IET} - - - - Class - LineGraphic - Head - - ID - 35 - - ID - 36 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {677.00000002503316, 365.50001648119365} - {677.00000004894559, 397.50000001880625} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 34 - - - - Bounds - {{644.5, 398}, {65, 28}} - Class - ShapedGraphic - ID - 35 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 LVM} - - - - Bounds - {{640, 299}, {74, 66}} - Class - ShapedGraphic - ID - 34 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 cinder} - - - - Class - LineGraphic - Head - - ID - 32 - - ID - 33 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {165.39999163629457, 282.85453153940466} - {165.39999033485893, 226.50000001059664} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 26 - - - - Bounds - {{128.39999, 198}, {74, 28}} - Class - ShapedGraphic - ID - 32 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 memcache} - - - - Class - LineGraphic - Head - - ID - 17 - - ID - 31 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {198.39998772886597, 452.09903955903417} - {299.00000227113406, 452.40096021857363} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 29 - - - - Class - LineGraphic - Head - - ID - 29 - - ID - 30 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {165.39999179029778, 357.65456345280523} - {165.39999027515182, 437.49999999719336} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 26 - - - - Bounds - {{132.89999, 438}, {65, 28}} - Class - ShapedGraphic - ID - 29 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 novnc} - - - - Class - LineGraphic - Head - - ID - 26 - - ID - 28 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {86.500000018599465, 320.25454926273454} - {125.29997018139933, 320.25454839588974} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 27 - - - - Bounds - {{21, 306.25454999999999}, {65, 28}} - Class - ShapedGraphic - ID - 27 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 apache} - - - - Bounds - {{125.79998999999999, 283.35455000000002}, {79.200005000000004, 73.799994999999996}} - Class - ShapedGraphic - ID - 26 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs22 \cf0 openstack\ -dashboard} - - - - Class - LineGraphic - Head - - ID - 18 - - ID - 25 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {332, 365.50001651959224} - {332, 381.49999998040767} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 20 - - - - Class - LineGraphic - Head - - ID - 16 - - ID - 23 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {368.50001726494651, 642.5} - {428.49999998505336, 642.5} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 12 - - - - Class - LineGraphic - Head - - ID - 15 - - ID - 22 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {333.5, 611.49998474990014} - {333.5, 568.50000000009993} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 12 - - - - Class - LineGraphic - Head - - ID - 14 - - ID - 21 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {298.50135809854953, 642.22442014250828} - {239.49998448615352, 641.75984239752881} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 12 - - - - Bounds - {{295, 299}, {74, 66}} - Class - ShapedGraphic - ID - 20 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 nova-compute} - - - - Class - LineGraphic - Head - - ID - 17 - - ID - 19 - Points - - {332, 410.5} - {332, 438} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 18 - - - - Bounds - {{299.5, 382}, {65, 28}} - Class - ShapedGraphic - ID - 18 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 libvirt} - - - - Bounds - {{299.5, 438.5}, {65, 28}} - Class - ShapedGraphic - ID - 17 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 KVM} - - - - Bounds - {{429, 628.5}, {65, 28}} - Class - ShapedGraphic - ID - 16 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Linux\ -VLANs} - - - - Bounds - {{301, 540}, {65, 28}} - Class - ShapedGraphic - ID - 15 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Linux\ -bridging} - - - - Bounds - {{174, 627.5}, {65, 28}} - Class - ShapedGraphic - ID - 14 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 iptables} - - - - Class - LineGraphic - Head - - ID - 11 - - ID - 13 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {333.5, 673.50001525008133} - {333.5, 726.4999999999186} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 12 - - - - Bounds - {{299, 612}, {69, 61}} - Class - ShapedGraphic - ID - 12 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 nova-network} - - - - Bounds - {{301, 727}, {65, 28}} - Class - ShapedGraphic - ID - 11 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 dnsmasq} - - - - Bounds - {{601.5, 161}, {54, 54}} - Class - ShapedGraphic - ID - 10 - Magnets - - {0, 1} - {0, -1} - {1, 0} - {-1, 0} - - Shape - Cylinder - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc - -\f0\fs20 \cf0 MySQL} - VerticalPad - 0 - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - Layer 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - Canvas 1 - UniqueID - 1 - VPages - 2 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {756, 1106}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Class - LineGraphic - Head - - ID - 15 - - ID - 109 - Points - - {332.2142849901083, 466.99994540648498} - {333.28571558825678, 539.50005459351496} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 17 - - - - Bounds - {{410, 561}, {186, 28}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 108 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Pad - 0 - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural - -\f0\fs24 \cf0 All network components interact\ -through the Linux networking stack} - VerticalPad - 0 - - Wrap - NO - - - Bounds - {{492.7251, 152}, {26, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 106 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Qpid} - VerticalPad - 0 - - Wrap - NO - - - Class - Group - Graphics - - - Bounds - {{453.40039000000002, 183.89878999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 96 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{468.80466000000001, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 97 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{518.01813000000004, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 98 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{509.81598000000002, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 99 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{493.41107, 183.89886000000001}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 100 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{501.61383000000001, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 101 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{485.20891999999998, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 102 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{477.00677000000002, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 103 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{526.22020999999995, 183.89895999999999}, {35.999865999999997, 8.2022628999999991}} - Class - ShapedGraphic - ID - 104 - Rotation - 270 - Shape - Rectangle - - - Bounds - {{463.12891000000002, 169.99997999999999}, {84.034508000000002, 35.999865999999997}} - Class - ShapedGraphic - ID - 105 - Magnets - - {-0.5, 5.9604598999999998e-08} - {0.5, 5.9604598999999998e-08} - - Shape - ParallelLines - - - ID - 95 - - - Bounds - {{428.5, 123}, {301, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 48 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 All Compute services interact with Qpid and PostgreSQL} - VerticalPad - 0 - - Wrap - NO - - - Class - LineGraphic - Head - - ID - 39 - - ID - 44 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {364.99817876204622, 449.67583154739242} - {443, 443} - {442.56531529246348, 346.49999492689739} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 17 - - - - Class - LineGraphic - Head - - ID - 37 - - ID - 41 - Points - - {475.5, 332.00000000144951} - {532.5, 332.00000000395329} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 39 - - - - Class - LineGraphic - Head - - ID - 39 - - ID - 40 - Points - - {369.50001850699363, 332} - {409.49999999300627, 332} - - Style - - stroke - - HeadArrow - 0 - Legacy - - TailArrow - 0 - - - Tail - - ID - 20 - - - - Bounds - {{410, 318}, {65, 28}} - Class - ShapedGraphic - ID - 39 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 open-iscsi} - - - - Class - LineGraphic - Head - - ID - 37 - - ID - 38 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {639.49998149317275, 332.00000064555508} - {598.50000000682724, 332.00000135136133} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 34 - - - - Bounds - {{533, 318}, {65, 28}} - Class - ShapedGraphic - ID - 37 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 SAN} - - - - Bounds - {{640, 299}, {74, 66}} - Class - ShapedGraphic - ID - 34 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 cinder} - - - - Class - LineGraphic - Head - - ID - 32 - - ID - 33 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {165.39999163629457, 282.85453153940466} - {165.39999033485893, 226.50000001059664} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 26 - - - - Bounds - {{128.39999, 198}, {74, 28}} - Class - ShapedGraphic - ID - 32 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 MySQL} - - - - Class - LineGraphic - Head - - ID - 17 - - ID - 31 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {198.39998772886597, 452.09903960039782} - {299.00000227113406, 452.4009603860336} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 29 - - - - Class - LineGraphic - Head - - ID - 29 - - ID - 30 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {165.39999179029778, 357.65456345280523} - {165.39999027515182, 437.49999999719336} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 26 - - - - Bounds - {{132.89999, 438}, {65, 28}} - Class - ShapedGraphic - ID - 29 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 novnc} - - - - Class - LineGraphic - Head - - ID - 26 - - ID - 28 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {86.500000018599465, 320.25454926273454} - {125.29997018139933, 320.25454839588974} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 27 - - - - Bounds - {{21, 306.25454999999999}, {65, 28}} - Class - ShapedGraphic - ID - 27 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 nginx} - - - - Bounds - {{125.79998999999999, 283.35455000000002}, {79.200005000000004, 73.799994999999996}} - Class - ShapedGraphic - ID - 26 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs22 \cf0 openstack\ -dashboard} - - - - Class - LineGraphic - Head - - ID - 18 - - ID - 25 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {332, 365.50001651959224} - {332, 381.49999998040767} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 20 - - - - Class - LineGraphic - Head - - ID - 16 - - ID - 23 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {368.50001726494651, 642.5} - {428.49999998505336, 642.5} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 12 - - - - Class - LineGraphic - Head - - ID - 15 - - ID - 22 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {333.5, 611.49998474990014} - {333.5, 568.50000000009993} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 12 - - - - Class - LineGraphic - Head - - ID - 14 - - ID - 21 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {298.50135809854953, 642.22442014250828} - {239.49998448615352, 641.75984239752881} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 12 - - - - Bounds - {{295, 299}, {74, 66}} - Class - ShapedGraphic - ID - 20 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 nova-compute} - - - - Class - LineGraphic - Head - - ID - 17 - - ID - 19 - Points - - {332, 410.5} - {332, 438} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 18 - - - - Bounds - {{299.5, 382}, {65, 28}} - Class - ShapedGraphic - ID - 18 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 xapi} - - - - Bounds - {{299.5, 438.5}, {65, 28}} - Class - ShapedGraphic - ID - 17 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 XCP} - - - - Bounds - {{429, 628.5}, {65, 28}} - Class - ShapedGraphic - ID - 16 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Linux\ -VLANs} - - - - Bounds - {{301, 540}, {65, 28}} - Class - ShapedGraphic - ID - 15 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Linux\ -bridging} - - - - Bounds - {{174, 627.5}, {65, 28}} - Class - ShapedGraphic - ID - 14 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 iptables} - - - - Class - LineGraphic - Head - - ID - 11 - - ID - 13 - OrthogonalBarAutomatic - - OrthogonalBarPoint - {0, 0} - OrthogonalBarPosition - -1 - Points - - {333.5, 673.50001525008133} - {333.5, 726.4999999999186} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 2 - TailArrow - 0 - - - Tail - - ID - 12 - - - - Bounds - {{299, 612}, {69, 61}} - Class - ShapedGraphic - ID - 12 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 nova-network} - - - - Bounds - {{301, 727}, {65, 28}} - Class - ShapedGraphic - ID - 11 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 dnsmasq} - - - - Bounds - {{601.5, 161}, {65, 61}} - Class - ShapedGraphic - ID - 10 - Magnets - - {0, 1} - {0, -1} - {1, 0} - {-1, 0} - - Shape - Cylinder - Style - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc - -\f0\fs20 \cf0 PostgreSQL} - VerticalPad - 0 - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - Layer 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - Canvas 2 - UniqueID - 2 - VPages - 2 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 1 - ExpandedCanvases - - - name - Canvas 1 - - - Frame - {{1135, 269}, {1274, 1118}} - ListView - - OutlineWidth - 142 - RightSidebar - - ShowRuler - - Sidebar - - SidebarWidth - 120 - VisibleRegion - {{-192, 0}, {1139, 979}} - Zoom - 1 - ZoomValues - - - Canvas 1 - 1 - 1 - - - Canvas 2 - 1 - 1 - - - - - diff --git a/doc/install-guide/figures/swift_install_arch.png b/doc/install-guide/figures/swift_install_arch.png deleted file mode 100644 index 20b9ac6249b89d58782fee5def123524bb0fdc9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76395 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 diff --git a/doc/install-guide/figures/swift_install_arch.svg b/doc/install-guide/figures/swift_install_arch.svg deleted file mode 100644 index 54cdca1869..0000000000 --- a/doc/install-guide/figures/swift_install_arch.svg +++ /dev/null @@ -1,14932 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - David Pravec <alekibango@danix.org> - - - - - released under terms of Apache License - - - - - - - - - - - - - - - - - - - - - - - - - - OpenStack Object Storage Stores container databases, account databases, and stored objects - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Proxy node Public Switch - - - - - - - Storage nodes - - - - - - - - - - - - - - - - - - - - - - - Private Switch - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/install-guide/locale/install-guide.pot b/doc/install-guide/locale/install-guide.pot deleted file mode 100644 index 3f83fafc94..0000000000 --- a/doc/install-guide/locale/install-guide.pot +++ /dev/null @@ -1,5117 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2015-08-19 06:16+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ./doc/install-guide/section_basics-networking.xml:8(title) -msgid "Networking" -msgstr "" - -#: ./doc/install-guide/section_basics-networking.xml:9(para) -msgid "After installing the operating system on each node for the architecture that you choose to deploy, you must configure the network interfaces. We recommend that you disable any automated network management tools and manually edit the appropriate configuration files for your distribution. For more information on how to configure networking on your distribution, see the documentation.documentation.documentation.SLES 12 or openSUSE documentation." -msgstr "" - -#: ./doc/install-guide/section_basics-networking.xml:31(para) -msgid "All nodes require Internet access for administrative purposes such as package installation, security updates, DNS, and NTP. In most cases, nodes should obtain Internet access through the management network interface. To highlight the importance of network separation, the example architectures use private address space for the management network and assume that network infrastructure provides Internet access via NAT. To illustrate the flexibility of IaaS, the example architectures use public IP address space for the external network and assume that network infrastructure provides direct Internet access to instances in your OpenStack environment. In environments with only one block of public IP address space, both the management and external networks must ultimately obtain Internet access using it. For simplicity, the diagrams in this guide only show Internet access for OpenStack services." -msgstr "" - -#: ./doc/install-guide/section_basics-networking.xml:52(title) -msgid "To disable Network Manager" -msgstr "" - -#: ./doc/install-guide/section_basics-networking.xml:54(para) -msgid "Use the YaST network module:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking.xml:56(para) -msgid "For more information, see the SLES or the openSUSE documentation." -msgstr "" - -#: ./doc/install-guide/section_basics-networking.xml:65(para) -msgid "Your distribution enables a restrictive firewall by default. During the installation process, certain steps will fail unless you alter or disable the firewall. For more information about securing your environment, refer to the OpenStack Security Guide." -msgstr "" - -#: ./doc/install-guide/section_basics-networking.xml:72(para) -msgid "Your distribution does not enable a restrictive firewall by default. For more information about securing your environment, refer to the OpenStack Security Guide." -msgstr "" - -#: ./doc/install-guide/section_basics-networking.xml:78(para) -msgid "Proceed to network configuration for the example OpenStack Networking (neutron) or legacy networking (nova-network) architecture." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:7(title) -msgid "Networking concepts" -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:8(para) -msgid "OpenStack Networking (neutron) manages all networking facets for the Virtual Networking Infrastructure (VNI) and the access layer aspects of the Physical Networking Infrastructure (PNI) in your OpenStack environment. OpenStack Networking enables tenants to create advanced virtual network topologies including services such as firewalls, load balancers, and virtual private networks (VPNs)." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:17(para) -msgid "Networking provides the networks, subnets, and routers object abstractions. Each abstraction has functionality that mimics its physical counterpart: networks contain subnets, and routers route traffic between different subnet and networks." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:21(para) -msgid "Each router has one gateway that connects to a network, and many interfaces connected to subnets. Subnets can access machines on other subnets connected to the same router." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:24(para) -msgid "Any given Networking set up has at least one external network. Unlike the other networks, the external network is not merely a virtually defined network. Instead, it represents a view into a slice of the physical, external network accessible outside the OpenStack installation. IP addresses on the external network are accessible by anybody physically on the outside network. Because the external network merely represents a view into the outside network, DHCP is disabled on this network." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:32(para) -msgid "In addition to external networks, any Networking set up has one or more internal networks. These software-defined networks connect directly to the VMs. Only the VMs on any given internal network, or those on subnets connected through interfaces to a similar router, can access VMs connected to that network directly." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:38(para) -msgid "For the outside network to access VMs, and vice versa, routers between the networks are needed. Each router has one gateway that is connected to a network and many interfaces that are connected to subnets. Like a physical router, subnets can access machines on other subnets that are connected to the same router, and machines can access the outside network through the gateway for the router." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:45(para) -msgid "Additionally, you can allocate IP addresses on external networks to ports on the internal network. Whenever something is connected to a subnet, that connection is called a port. You can associate external network IP addresses with ports to VMs. This way, entities on the outside network can access VMs." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:50(para) -msgid "Networking also supports security groups. Security groups enable administrators to define firewall rules in groups. A VM can belong to one or more security groups, and Networking applies the rules in those security groups to block or unblock ports, port ranges, or traffic types for that VM." -msgstr "" - -#: ./doc/install-guide/section_neutron-concepts.xml:56(para) -msgid "Each plug-in that Networking uses has its own concepts. While not vital to operating the VNI and OpenStack environment, understanding these concepts can help you set up Networking. All Networking installations use a core plug-in and a security group plug-in (or just the No-Op security group plug-in). Additionally, Firewall-as-a-Service (FWaaS) and Load-Balancer-as-a-Service (LBaaS) plug-ins are available." -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:8(title) -msgid "Before you begin" -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:9(para) -msgid "For best performance, we recommend that your environment meets or exceeds the hardware requirements in or . However, OpenStack does not require a significant amount of resources and the following minimum requirements should support a proof-of-concept environment with core services and several CirrOS instances:" -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:19(para) -msgid "Controller Node: 1 processor, 2 GB memory, and 5 GB storage" -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:23(para) -msgid "Network Node: 1 processor, 512 MB memory, and 5 GB storage" -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:27(para) -msgid "Compute Node: 1 processor, 2 GB memory, and 10 GB storage" -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:31(para) -msgid "To minimize clutter and provide more resources for OpenStack, we recommend a minimal installation of your Linux distribution. Also, we strongly recommend that you install a 64-bit version of your distribution on at least the compute node. If you install a 32-bit version of your distribution on the compute node, attempting to start an instance using a 64-bit image will fail." -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:38(para) -msgid "A single disk partition on each node works for most basic installations. However, you should consider Logical Volume Manager (LVM) for installations with optional services such as Block Storage." -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:43(para) -msgid "Many users build their test environments on virtual machines (VMs). The primary benefits of VMs include the following:" -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:49(para) -msgid "One physical server can support multiple nodes, each with almost any number of network interfaces." -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:53(para) -msgid "Ability to take periodic \"snap shots\" throughout the installation process and \"roll back\" to a working configuration in the event of a problem." -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:58(para) -msgid "However, VMs will reduce performance of your instances, particularly if your hypervisor and/or processor lacks support for hardware acceleration of nested VMs." -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:62(para) -msgid "If you choose to install on VMs, make sure your hypervisor permits promiscuous mode and disables MAC address filtering on the external network." -msgstr "" - -#: ./doc/install-guide/section_basics-prerequisites.xml:67(para) -msgid "For more information about system requirements, see the OpenStack Operations Guide." -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_neutron-compute-node.xml:63(None) ./doc/install-guide/section_neutron-controller-node.xml:148(None) ./doc/install-guide/section_neutron-network-node.xml:65(None) -msgid "@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; md5=adf41c33778a691a560b7098908792db" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:7(title) -msgid "Install and configure compute node" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:8(para) -msgid "The compute node handles connectivity and security groups for instances." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:12(title) ./doc/install-guide/section_heat-install.xml:11(title) ./doc/install-guide/section_swift-controller-node.xml:19(title) ./doc/install-guide/section_ceilometer-swift.xml:11(title) ./doc/install-guide/section_keystone-services.xml:14(title) ./doc/install-guide/section_neutron-controller-node.xml:9(title) ./doc/install-guide/section_glance-install.xml:20(title) ./doc/install-guide/section_ceilometer-controller.xml:17(title) ./doc/install-guide/section_ceilometer-controller.xml:193(title) ./doc/install-guide/section_basics-packages.xml:26(title) ./doc/install-guide/section_ceilometer-cinder.xml:14(title) ./doc/install-guide/section_neutron-network-node.xml:11(title) ./doc/install-guide/section_cinder-storage-node.xml:21(title) ./doc/install-guide/section_swift-storage-node.xml:22(title) ./doc/install-guide/section_cinder-controller-node.xml:13(title) ./doc/install-guide/section_nova-controller-install.xml:11(title) ./doc/install-guide/section_keystone-install.xml:18(title) -msgid "To configure prerequisites" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:13(para) ./doc/install-guide/section_neutron-network-node.xml:12(para) -msgid "Before you install and configure OpenStack Networking, you must configure certain kernel networking parameters." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:16(para) ./doc/install-guide/section_neutron-network-node.xml:15(para) -msgid "Edit the /etc/sysctl.conf file to contain the following parameters:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:24(para) ./doc/install-guide/section_neutron-network-node.xml:22(para) -msgid "Implement the changes:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:29(title) ./doc/install-guide/section_neutron-controller-node.xml:113(title) ./doc/install-guide/section_neutron-network-node.xml:27(title) -msgid "To install the Networking components" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:35(para) ./doc/install-guide/section_neutron-controller-node.xml:119(para) ./doc/install-guide/section_neutron-network-node.xml:35(para) -msgid "SUSE does not use a separate ML2 plug-in package." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:40(title) ./doc/install-guide/section_neutron-controller-node.xml:124(title) ./doc/install-guide/section_neutron-network-node.xml:40(title) -msgid "To install and configure the Networking components" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:44(para) ./doc/install-guide/section_neutron-controller-node.xml:128(para) ./doc/install-guide/section_neutron-network-node.xml:45(para) -msgid "Debian does not use a separate ML2 plug-in package." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:48(para) ./doc/install-guide/section_neutron-controller-node.xml:132(para) ./doc/install-guide/section_neutron-network-node.xml:49(para) ./doc/install-guide/section_nova-controller-install.xml:247(para) -msgid "Respond to prompts for database management, Identity service credentials, service endpoint registration, and message queue credentials." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:57(para) ./doc/install-guide/section_neutron-controller-node.xml:142(para) ./doc/install-guide/section_neutron-network-node.xml:59(para) -msgid "Select the ML2 plug-in:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:68(para) ./doc/install-guide/section_neutron-controller-node.xml:153(para) ./doc/install-guide/section_neutron-network-node.xml:70(para) -msgid "Selecting the ML2 plug-in also populates the and options in the /etc/neutron/neutron.conf file with the appropriate values." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:77(title) ./doc/install-guide/section_neutron-network-node.xml:79(title) -msgid "To configure the Networking common components" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:78(para) ./doc/install-guide/section_neutron-network-node.xml:80(para) -msgid "The Networking common component configuration includes the authentication mechanism, message queue, and plug-in." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:81(para) ./doc/install-guide/section_swift-finalize-installation.xml:11(para) ./doc/install-guide/section_swift-controller-node.xml:109(para) ./doc/install-guide/section_neutron-controller-node.xml:167(para) ./doc/install-guide/section_glance-install.xml:126(para) ./doc/install-guide/section_nova-compute-install.xml:42(para) ./doc/install-guide/section_neutron-network-node.xml:83(para) ./doc/install-guide/section_swift-storage-node.xml:165(para) ./doc/install-guide/section_nova-controller-install.xml:118(para) ./doc/install-guide/section_keystone-install.xml:56(para) -msgid "Default configuration files vary by distribution. You might need to add these sections and options rather than modifying existing sections and options. Also, an ellipsis (...) in the configuration snippets indicates potential default configuration options that you should retain." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:88(para) ./doc/install-guide/section_neutron-controller-node.xml:174(para) ./doc/install-guide/section_neutron-network-node.xml:90(para) -msgid "Edit the /etc/neutron/neutron.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:92(para) -msgid "In the [database] section, comment out any connection options because compute nodes do not directly access the database." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:97(para) ./doc/install-guide/section_ceilometer-nova.xml:33(para) ./doc/install-guide/section_heat-install.xml:215(para) ./doc/install-guide/section_neutron-controller-node.xml:187(para) ./doc/install-guide/section_ceilometer-controller.xml:267(para) ./doc/install-guide/section_nova-compute-install.xml:59(para) ./doc/install-guide/section_neutron-network-node.xml:99(para) ./doc/install-guide/section_cinder-storage-node.xml:161(para) ./doc/install-guide/section_cinder-controller-node.xml:177(para) ./doc/install-guide/section_nova-controller-install.xml:149(para) -msgid "In the [DEFAULT] and [oslo_messaging_rabbit] sections, configure RabbitMQ message queue access:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:106(replaceable) ./doc/install-guide/section_neutron-compute-node.xml:123(replaceable) ./doc/install-guide/section_neutron-compute-node.xml:124(replaceable) ./doc/install-guide/section_neutron-compute-node.xml:268(replaceable) ./doc/install-guide/section_neutron-compute-node.xml:270(replaceable) ./doc/install-guide/section_basics-ntp.xml:81(replaceable) ./doc/install-guide/section_ceilometer-nova.xml:42(replaceable) ./doc/install-guide/section_ceilometer-nova.xml:54(replaceable) ./doc/install-guide/section_ceilometer-nova.xml:55(replaceable) ./doc/install-guide/section_ceilometer-nova.xml:73(replaceable) ./doc/install-guide/section_keystone-openrc.xml:31(replaceable) ./doc/install-guide/section_keystone-openrc.xml:44(replaceable) ./doc/install-guide/section_heat-install.xml:149(replaceable) ./doc/install-guide/section_heat-install.xml:150(replaceable) ./doc/install-guide/section_heat-install.xml:151(replaceable) ./doc/install-guide/section_heat-install.xml:167(replaceable) ./doc/install-guide/section_heat-install.xml:168(replaceable) ./doc/install-guide/section_heat-install.xml:169(replaceable) ./doc/install-guide/section_heat-install.xml:210(replaceable) ./doc/install-guide/section_heat-install.xml:224(replaceable) ./doc/install-guide/section_heat-install.xml:237(replaceable) ./doc/install-guide/section_heat-install.xml:238(replaceable) ./doc/install-guide/section_heat-install.xml:245(replaceable) ./doc/install-guide/section_heat-install.xml:261(replaceable) ./doc/install-guide/section_heat-install.xml:262(replaceable) ./doc/install-guide/section_heat-install.xml:333(replaceable) ./doc/install-guide/section_swift-controller-node.xml:87(replaceable) ./doc/install-guide/section_swift-controller-node.xml:88(replaceable) ./doc/install-guide/section_swift-controller-node.xml:89(replaceable) ./doc/install-guide/section_swift-controller-node.xml:183(replaceable) ./doc/install-guide/section_swift-controller-node.xml:184(replaceable) ./doc/install-guide/section_ceilometer-swift.xml:72(replaceable) ./doc/install-guide/section_dashboard-install.xml:73(replaceable) ./doc/install-guide/section_ceilometer-glance.xml:22(replaceable) ./doc/install-guide/section_keystone-services.xml:44(replaceable) ./doc/install-guide/section_keystone-services.xml:94(replaceable) ./doc/install-guide/section_keystone-services.xml:95(replaceable) ./doc/install-guide/section_keystone-services.xml:96(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:93(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:94(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:95(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:182(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:196(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:213(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:214(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:247(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:251(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:357(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:359(replaceable) ./doc/install-guide/section_glance-install.xml:104(replaceable) ./doc/install-guide/section_glance-install.xml:105(replaceable) ./doc/install-guide/section_glance-install.xml:106(replaceable) ./doc/install-guide/section_glance-install.xml:149(replaceable) ./doc/install-guide/section_glance-install.xml:159(replaceable) ./doc/install-guide/section_glance-install.xml:160(replaceable) ./doc/install-guide/section_glance-install.xml:217(replaceable) ./doc/install-guide/section_glance-install.xml:227(replaceable) ./doc/install-guide/section_glance-install.xml:228(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:90(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:99(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:173(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:174(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:175(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:260(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:276(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:293(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:294(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:313(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:392(replaceable) ./doc/install-guide/section_basics-networking-nova.xml:245(replaceable) ./doc/install-guide/section_basics-networking-neutron.xml:334(replaceable) ./doc/install-guide/section_basics-networking-neutron.xml:378(replaceable) ./doc/install-guide/section_nova-compute-install.xml:68(replaceable) ./doc/install-guide/section_nova-compute-install.xml:85(replaceable) ./doc/install-guide/section_nova-compute-install.xml:86(replaceable) ./doc/install-guide/section_nova-compute-install.xml:122(replaceable) ./doc/install-guide/section_nova-compute-install.xml:147(replaceable) ./doc/install-guide/section_neutron-network-node.xml:108(replaceable) ./doc/install-guide/section_neutron-network-node.xml:125(replaceable) ./doc/install-guide/section_neutron-network-node.xml:126(replaceable) ./doc/install-guide/section_neutron-network-node.xml:379(replaceable) ./doc/install-guide/section_neutron-network-node.xml:380(replaceable) ./doc/install-guide/section_neutron-network-node.xml:397(replaceable) ./doc/install-guide/section_sahara-install.xml:45(replaceable) ./doc/install-guide/section_sahara-install.xml:51(replaceable) ./doc/install-guide/section_sahara-install.xml:52(replaceable) ./doc/install-guide/section_sahara-install.xml:182(replaceable) ./doc/install-guide/section_sahara-install.xml:183(replaceable) ./doc/install-guide/section_sahara-install.xml:184(replaceable) ./doc/install-guide/section_debconf-keystone_authtoken.xml:16(replaceable) ./doc/install-guide/section_debconf-keystone_authtoken.xml:17(replaceable) ./doc/install-guide/section_cinder-storage-node.xml:156(replaceable) ./doc/install-guide/section_cinder-storage-node.xml:170(replaceable) ./doc/install-guide/section_cinder-storage-node.xml:187(replaceable) ./doc/install-guide/section_cinder-storage-node.xml:188(replaceable) ./doc/install-guide/section_cinder-storage-node.xml:250(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:113(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:114(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:115(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:131(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:132(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:133(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:186(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:203(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:204(replaceable) ./doc/install-guide/section_trove-install.xml:54(replaceable) ./doc/install-guide/section_trove-install.xml:55(replaceable) ./doc/install-guide/section_trove-install.xml:56(replaceable) ./doc/install-guide/section_trove-install.xml:67(replaceable) ./doc/install-guide/section_trove-install.xml:68(replaceable) ./doc/install-guide/section_trove-install.xml:69(replaceable) ./doc/install-guide/section_trove-install.xml:70(replaceable) ./doc/install-guide/section_trove-install.xml:71(replaceable) ./doc/install-guide/section_trove-install.xml:74(replaceable) ./doc/install-guide/section_trove-install.xml:84(replaceable) ./doc/install-guide/section_trove-install.xml:161(replaceable) ./doc/install-guide/section_trove-install.xml:166(replaceable) ./doc/install-guide/section_trove-install.xml:247(replaceable) ./doc/install-guide/section_trove-install.xml:248(replaceable) ./doc/install-guide/section_trove-install.xml:249(replaceable) ./doc/install-guide/section_nova-controller-install.xml:96(replaceable) ./doc/install-guide/section_nova-controller-install.xml:97(replaceable) ./doc/install-guide/section_nova-controller-install.xml:98(replaceable) ./doc/install-guide/section_nova-controller-install.xml:158(replaceable) ./doc/install-guide/section_nova-controller-install.xml:175(replaceable) ./doc/install-guide/section_nova-controller-install.xml:176(replaceable) ./doc/install-guide/section_nova-controller-install.xml:213(replaceable) ./doc/install-guide/section_keystone-install.xml:106(replaceable) ./doc/install-guide/section_keystone-install.xml:159(replaceable) ./doc/install-guide/section_keystone-install.xml:247(replaceable) ./doc/install-guide/section_keystone-install.xml:248(replaceable) ./doc/install-guide/section_keystone-install.xml:249(replaceable) ./doc/install-guide/section_keystone-install.xml:269(replaceable) ./doc/install-guide/section_keystone-install.xml:276(replaceable) -msgid "controller" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:108(replaceable) ./doc/install-guide/section_ceilometer-nova.xml:44(replaceable) ./doc/install-guide/section_heat-install.xml:226(replaceable) ./doc/install-guide/section_ceilometer-swift.xml:72(replaceable) ./doc/install-guide/section_ceilometer-glance.xml:24(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:198(replaceable) ./doc/install-guide/section_basics-queue.xml:44(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:278(replaceable) ./doc/install-guide/section_nova-compute-install.xml:70(replaceable) ./doc/install-guide/section_neutron-network-node.xml:110(replaceable) ./doc/install-guide/section_cinder-storage-node.xml:172(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:188(replaceable) ./doc/install-guide/section_trove-install.xml:86(replaceable) ./doc/install-guide/section_trove-install.xml:162(replaceable) ./doc/install-guide/section_nova-controller-install.xml:160(replaceable) -msgid "RABBIT_PASS" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:109(para) ./doc/install-guide/section_ceilometer-nova.xml:45(para) ./doc/install-guide/section_heat-install.xml:227(para) ./doc/install-guide/section_ceilometer-swift.xml:76(para) ./doc/install-guide/section_ceilometer-glance.xml:25(para) ./doc/install-guide/section_neutron-controller-node.xml:199(para) ./doc/install-guide/section_ceilometer-controller.xml:279(para) ./doc/install-guide/section_nova-compute-install.xml:71(para) ./doc/install-guide/section_neutron-network-node.xml:111(para) ./doc/install-guide/section_cinder-storage-node.xml:173(para) ./doc/install-guide/section_cinder-controller-node.xml:189(para) ./doc/install-guide/section_nova-controller-install.xml:161(para) -msgid "Replace RABBIT_PASS with the password you chose for the openstack account in RabbitMQ." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:114(para) ./doc/install-guide/section_neutron-controller-node.xml:204(para) ./doc/install-guide/section_ceilometer-controller.xml:284(para) ./doc/install-guide/section_nova-compute-install.xml:76(para) ./doc/install-guide/section_neutron-network-node.xml:116(para) ./doc/install-guide/section_cinder-storage-node.xml:178(para) ./doc/install-guide/section_cinder-controller-node.xml:194(para) ./doc/install-guide/section_nova-controller-install.xml:166(para) -msgid "In the [DEFAULT] and [keystone_authtoken] sections, configure Identity service access:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:130(replaceable) ./doc/install-guide/section_neutron-compute-node.xml:273(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:220(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:362(replaceable) ./doc/install-guide/section_neutron-network-node.xml:132(replaceable) ./doc/install-guide/section_neutron-network-node.xml:387(replaceable) -msgid "NEUTRON_PASS" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:131(para) ./doc/install-guide/section_neutron-network-node.xml:133(para) -msgid "Replace NEUTRON_PASS with the password you chose or the neutron user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:135(para) ./doc/install-guide/section_neutron-controller-node.xml:225(para) ./doc/install-guide/section_glance-install.xml:175(para) ./doc/install-guide/section_glance-install.xml:243(para) ./doc/install-guide/section_nova-compute-install.xml:97(para) ./doc/install-guide/section_neutron-network-node.xml:137(para) ./doc/install-guide/section_cinder-storage-node.xml:199(para) ./doc/install-guide/section_cinder-controller-node.xml:215(para) ./doc/install-guide/section_nova-controller-install.xml:187(para) -msgid "Comment out or remove any other options in the [keystone_authtoken] section." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:140(para) ./doc/install-guide/section_neutron-controller-node.xml:230(para) ./doc/install-guide/section_neutron-network-node.xml:142(para) -msgid "In the [DEFAULT] section, enable the Modular Layer 2 (ML2) plug-in, router service, and overlapping IP addresses:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:150(para) ./doc/install-guide/section_ceilometer-nova.xml:84(para) ./doc/install-guide/section_heat-install.xml:277(para) ./doc/install-guide/section_neutron-controller-node.xml:264(para) ./doc/install-guide/section_glance-install.xml:199(para) ./doc/install-guide/section_glance-install.xml:259(para) ./doc/install-guide/section_ceilometer-controller.xml:341(para) ./doc/install-guide/section_nova-compute-install.xml:160(para) ./doc/install-guide/section_neutron-network-node.xml:152(para) ./doc/install-guide/section_neutron-network-node.xml:261(para) ./doc/install-guide/section_neutron-network-node.xml:291(para) ./doc/install-guide/section_neutron-network-node.xml:409(para) ./doc/install-guide/section_cinder-storage-node.xml:260(para) ./doc/install-guide/section_cinder-controller-node.xml:235(para) ./doc/install-guide/section_nova-controller-install.xml:226(para) ./doc/install-guide/section_keystone-install.xml:133(para) -msgid "(Optional) To assist with troubleshooting, enable verbose logging in the [DEFAULT] section:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:161(title) ./doc/install-guide/section_neutron-controller-node.xml:275(title) ./doc/install-guide/section_neutron-network-node.xml:163(title) -msgid "To configure the Modular Layer 2 (ML2) plug-in" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:162(para) -msgid "The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the virtual networking framework for instances." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:165(para) ./doc/install-guide/section_neutron-controller-node.xml:282(para) ./doc/install-guide/section_neutron-network-node.xml:169(para) -msgid "Edit the /etc/neutron/plugins/ml2/ml2_conf.ini file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:170(para) ./doc/install-guide/section_neutron-controller-node.xml:287(para) ./doc/install-guide/section_neutron-network-node.xml:174(para) -msgid "In the [ml2] section, enable the flat, VLAN, generic routing encapsulation (GRE), and virtual extensible LAN (VXLAN) network type drivers, GRE tenant networks, and the OVS mechanism driver:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:184(para) ./doc/install-guide/section_neutron-controller-node.xml:306(para) ./doc/install-guide/section_neutron-network-node.xml:195(para) -msgid "In the [ml2_type_gre] section, configure the tunnel identifier (id) range:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:191(para) ./doc/install-guide/section_neutron-controller-node.xml:313(para) ./doc/install-guide/section_neutron-network-node.xml:202(para) -msgid "In the [securitygroup] section, enable security groups, enable ipset, and configure the OVS iptables firewall driver:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:202(para) -msgid "In the [ovs] section, enable tunnels and configure the local tunnel endpoint:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:206(replaceable) ./doc/install-guide/section_neutron-network-node.xml:220(replaceable) -msgid "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:207(para) -msgid "Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS with the IP address of the instance tunnels network interface on your compute node." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:213(para) ./doc/install-guide/section_neutron-network-node.xml:228(para) -msgid "In the [agent] section, enable GRE tunnels:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:223(title) ./doc/install-guide/section_neutron-network-node.xml:443(title) -msgid "To configure the Open vSwitch (OVS) service" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:224(para) -msgid "The OVS service provides the underlying virtual networking framework for instances." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:227(para) ./doc/install-guide/section_neutron-network-node.xml:454(para) -msgid "Start the OVS service and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:233(para) ./doc/install-guide/section_neutron-network-node.xml:460(para) -msgid "Restart the OVS service:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:238(title) ./doc/install-guide/section_neutron-controller-node.xml:327(title) -msgid "To configure Compute to use Networking" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:239(para) ./doc/install-guide/section_neutron-controller-node.xml:328(para) -msgid "By default, distribution packages configure Compute to use legacy networking. You must reconfigure Compute to manage networks through Networking." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:243(para) ./doc/install-guide/section_nova-networking-controller-node.xml:14(para) ./doc/install-guide/section_nova-compute-install.xml:55(para) ./doc/install-guide/section_nova-networking-compute-node.xml:26(para) ./doc/install-guide/section_nova-controller-install.xml:136(para) ./doc/install-guide/section_nova-controller-install.xml:257(para) -msgid "Edit the /etc/nova/nova.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:247(para) ./doc/install-guide/section_neutron-controller-node.xml:336(para) -msgid "In the [DEFAULT] section, configure the APIs and drivers:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:256(para) ./doc/install-guide/section_neutron-controller-node.xml:345(para) -msgid "By default, Compute uses an internal firewall service. Since Networking includes a firewall service, you must disable the Compute firewall service by using the nova.virt.firewall.NoopFirewallDriver firewall driver." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:264(para) ./doc/install-guide/section_neutron-controller-node.xml:353(para) -msgid "In the [neutron] section, configure access parameters:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:274(para) ./doc/install-guide/section_neutron-controller-node.xml:221(para) ./doc/install-guide/section_neutron-controller-node.xml:363(para) ./doc/install-guide/section_neutron-network-node.xml:388(para) -msgid "Replace NEUTRON_PASS with the password you chose for the neutron user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:282(title) ./doc/install-guide/section_neutron-network-node.xml:486(title) -msgid "To finalize the installation" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:284(para) ./doc/install-guide/section_neutron-controller-node.xml:373(para) ./doc/install-guide/section_neutron-network-node.xml:488(para) -msgid "The Networking service initialization scripts expect a symbolic link /etc/neutron/plugin.ini pointing to the ML2 plug-in configuration file, /etc/neutron/plugins/ml2/ml2_conf.ini. If this symbolic link does not exist, create it using the following command:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:291(para) ./doc/install-guide/section_neutron-network-node.xml:495(para) -msgid "Due to a packaging bug, the Open vSwitch agent initialization script explicitly looks for the Open vSwitch plug-in configuration file rather than a symbolic link /etc/neutron/plugin.ini pointing to the ML2 plug-in configuration file. Run the following commands to resolve this issue:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:303(para) ./doc/install-guide/section_neutron-controller-node.xml:382(para) ./doc/install-guide/section_neutron-network-node.xml:507(para) -msgid "The Networking service initialization scripts expect the variable NEUTRON_PLUGIN_CONF in the /etc/sysconfig/neutron file to reference the ML2 plug-in configuration file. Edit the /etc/sysconfig/neutron file and add the following:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:312(para) ./doc/install-guide/section_ceilometer-nova.xml:129(para) ./doc/install-guide/section_nova-compute-install.xml:228(para) -msgid "Restart the Compute service:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:317(para) ./doc/install-guide/section_neutron-compute-node.xml:323(para) -msgid "Start the Open vSwitch (OVS) agent and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:329(para) -msgid "Restart the Open vSwitch (OVS) agent:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:334(title) ./doc/install-guide/section_basics-ntp.xml:100(title) ./doc/install-guide/section_swift-verify.xml:7(title) ./doc/install-guide/section_nova-verify.xml:7(title) ./doc/install-guide/section_cinder-verify.xml:7(title) ./doc/install-guide/section_neutron-controller-node.xml:426(title) ./doc/install-guide/section_glance-verify.xml:7(title) ./doc/install-guide/section_keystone-verify.xml:7(title) ./doc/install-guide/section_neutron-network-node.xml:552(title) ./doc/install-guide/section_heat-verify.xml:7(title) ./doc/install-guide/section_dashboard-verify.xml:8(title) -msgid "Verify operation" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:336(para) ./doc/install-guide/section_nova-verify.xml:11(para) ./doc/install-guide/section_nova-networking-initial-network.xml:23(para) ./doc/install-guide/section_cinder-verify.xml:14(para) ./doc/install-guide/section_neutron-controller-node.xml:428(para) ./doc/install-guide/section_neutron-initial-networks.xml:43(para) ./doc/install-guide/section_neutron-initial-networks.xml:132(para) ./doc/install-guide/section_neutron-network-node.xml:554(para) -msgid "Perform these commands on the controller node." -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:339(para) ./doc/install-guide/section_ceilometer-verify.xml:15(para) ./doc/install-guide/section_heat-install.xml:42(para) ./doc/install-guide/section_heat-install.xml:288(para) ./doc/install-guide/section_nova-verify.xml:14(para) ./doc/install-guide/section_swift-controller-node.xml:33(para) ./doc/install-guide/section_cinder-verify.xml:23(para) ./doc/install-guide/section_neutron-controller-node.xml:41(para) ./doc/install-guide/section_neutron-controller-node.xml:431(para) ./doc/install-guide/section_glance-install.xml:51(para) ./doc/install-guide/section_ceilometer-controller.xml:120(para) ./doc/install-guide/section_glance-verify.xml:26(para) ./doc/install-guide/section_neutron-initial-networks.xml:48(para) ./doc/install-guide/section_neutron-network-node.xml:557(para) ./doc/install-guide/section_sahara-install.xml:129(para) ./doc/install-guide/section_cinder-controller-node.xml:44(para) ./doc/install-guide/section_trove-install.xml:193(para) ./doc/install-guide/section_nova-controller-install.xml:44(para) -msgid "Source the admin credentials to gain access to admin-only CLI commands:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:344(para) ./doc/install-guide/section_neutron-network-node.xml:562(para) -msgid "List agents to verify successful launch of the neutron agents:" -msgstr "" - -#: ./doc/install-guide/section_neutron-compute-node.xml:357(para) -msgid "This output should indicate four agents alive on the network node and one agent alive on the compute node." -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:7(title) ./doc/install-guide/app_reserved_uids.xml:24(caption) -msgid "Reserved user IDs" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:9(para) -msgid "OpenStack reserves certain user IDs to run specific services and own specific files. These user IDs are set up according to the distribution packages. The following table gives an overview." -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:16(para) -msgid "Some OpenStack packages generate and assign user IDs automatically during package installation. In these cases, the user ID value is not important. The existence of the user ID is what matters." -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:27(th) -msgid "Name" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:28(th) -msgid "Description" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:29(th) -msgid "ID" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:35(td) -msgid "ceilometer" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:36(td) -msgid "OpenStack ceilometer daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:37(td) -msgid "166" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:38(td) ./doc/install-guide/app_reserved_uids.xml:44(td) ./doc/install-guide/app_reserved_uids.xml:50(td) ./doc/install-guide/app_reserved_uids.xml:56(td) ./doc/install-guide/app_reserved_uids.xml:62(td) ./doc/install-guide/app_reserved_uids.xml:68(td) ./doc/install-guide/app_reserved_uids.xml:75(td) ./doc/install-guide/app_reserved_uids.xml:81(td) ./doc/install-guide/app_reserved_uids.xml:86(td) -msgid "Assigned during package installation" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:41(td) -msgid "cinder" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:42(td) -msgid "OpenStack cinder daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:43(td) -msgid "165" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:47(td) -msgid "glance" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:48(td) -msgid "OpenStack glance daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:49(td) -msgid "161" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:53(td) -msgid "heat" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:54(td) -msgid "OpenStack heat daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:55(td) -msgid "187" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:59(td) -msgid "keystone" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:60(td) -msgid "OpenStack keystone daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:61(td) -msgid "163" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:65(td) -msgid "neutron" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:66(td) -msgid "OpenStack neutron daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:67(td) -msgid "164" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:71(td) -msgid "nova" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:72(td) -msgid "OpenStack nova daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:73(td) -msgid "162" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:74(td) -msgid "96" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:78(td) -msgid "swift" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:79(td) -msgid "OpenStack swift daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:80(td) -msgid "160" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:84(td) -msgid "trove" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:85(td) -msgid "OpenStack trove daemons" -msgstr "" - -#: ./doc/install-guide/app_reserved_uids.xml:90(para) -msgid "Each user belongs to a user group with the same name as the user." -msgstr "" - -#: ./doc/install-guide/ch_debconf.xml:8(title) -msgid "Configure OpenStack with debconf" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-verify.xml:7(title) -msgid "Verify the Telemetry installation" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-verify.xml:8(para) -msgid "This section describes how to verify operation of the Telemetry module." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-verify.xml:12(para) ./doc/install-guide/section_swift-verify.xml:17(para) ./doc/install-guide/section_swift-initial-rings.xml:26(para) ./doc/install-guide/section_swift-initial-rings.xml:95(para) ./doc/install-guide/section_swift-initial-rings.xml:165(para) -msgid "Perform these steps on the controller node." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-verify.xml:20(para) -msgid "List available meters:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-verify.xml:32(para) -msgid "Download an image from the Image service:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-verify.xml:38(para) -msgid "List available meters again to validate detection of the image download:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-verify.xml:53(para) -msgid "Retrieve usage statistics from the image.download meter:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-verify.xml:63(para) -msgid "Remove the previously downloaded image file /tmp/cirros.img:" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:8(title) -msgid "Network Time Protocol (NTP)" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:9(para) -msgid "You must install NTP to properly synchronize services among nodes. We recommend that you configure the controller node to reference more accurate (lower stratum) servers and other nodes to reference the controller node." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:15(title) ./doc/install-guide/section_basics-networking-nova.xml:72(title) ./doc/install-guide/section_basics-networking-neutron.xml:84(title) -msgid "Controller node" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:17(title) ./doc/install-guide/section_basics-ntp.xml:66(title) -msgid "To install the NTP service" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:25(title) ./doc/install-guide/section_basics-ntp.xml:74(title) -msgid "To configure the NTP service" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:26(para) -msgid "By default, the controller node synchronizes the time via a pool of public servers. However, you can optionally edit the /etc/ntp.conf file to configure alternative servers such as those provided by your organization." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:31(para) -msgid "Edit the /etc/ntp.conf file and add, change, or remove the following keys as necessary for your environment:" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:34(replaceable) -msgid "NTP_SERVER" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:37(para) -msgid "Replace NTP_SERVER with the hostname or IP address of a suitable more accurate (lower stratum) NTP server. The configuration supports multiple server keys." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:42(para) -msgid "For the restrict keys, you essentially remove the nopeer and noquery options." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:47(para) ./doc/install-guide/section_basics-ntp.xml:83(para) -msgid "Remove the /var/lib/ntp/ntp.conf.dhcp file if it exists." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:52(para) ./doc/install-guide/section_basics-ntp.xml:88(para) -msgid "Restart the NTP service:" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:56(para) ./doc/install-guide/section_basics-ntp.xml:92(para) -msgid "Start the NTP service and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:64(title) -msgid "Other nodes" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:75(para) -msgid "Configure the network and compute nodes to reference the controller node." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:78(para) -msgid "Edit the /etc/ntp.conf file:" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:79(para) -msgid "Comment out or remove all but one server key and change it to reference the controller node." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:101(para) -msgid "We recommend that you verify NTP synchronization before proceeding further. Some nodes, particularly those that reference the controller node, can take several minutes to synchronize." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:106(para) ./doc/install-guide/section_basics-ntp.xml:121(para) -msgid "Run this command on the controller node:" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:113(para) -msgid "Contents in the remote column should indicate the hostname or IP address of one or more NTP servers." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:116(para) ./doc/install-guide/section_basics-ntp.xml:140(para) -msgid "Contents in the refid column typically reference IP addresses of upstream servers." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:128(para) -msgid "Contents in the condition column should indicate sys.peer for at least one server." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:132(para) ./doc/install-guide/section_basics-ntp.xml:145(para) -msgid "Run this command on all other nodes:" -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:137(para) -msgid "Contents in the remote column should indicate the hostname of the controller node." -msgstr "" - -#: ./doc/install-guide/section_basics-ntp.xml:151(para) -msgid "Contents in the condition column should indicate sys.peer." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:7(title) -msgid "Add the dashboard" -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:8(para) -msgid "The OpenStack dashboard, also known as Horizon, is a Web interface that enables cloud administrators and users to manage various OpenStack resources and services." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:13(para) -msgid "The dashboard enables web-based interactions with the OpenStack Compute cloud controller through the OpenStack APIs." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:16(para) -msgid "Horizon enables you to customize the brand of the dashboard." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:17(para) -msgid "Horizon provides a set of core classes and reusable templates and tools." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:18(para) -msgid "This example deployment uses an Apache web server." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:23(title) ./doc/install-guide/ch_swift.xml:20(title) ./doc/install-guide/ch_networking.xml:38(title) ./doc/install-guide/ch_cinder.xml:28(title) ./doc/install-guide/ch_ceilometer.xml:19(title) ./doc/install-guide/ch_heat.xml:14(title) -msgid "Next steps" -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:24(para) -msgid "Your OpenStack environment now includes the dashboard. You can launch an instance or add more services to your environment in the following chapters." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:27(para) -msgid "After you install and configure the dashboard, you can complete the following tasks:" -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:31(para) -msgid "Provide users with a public IP address, a username, and a password so they can access the dashboard through a web browser. In case of any SSL certificate connection problems, point the server IP address to a domain name, and give users access." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:37(para) -msgid "Customize your dashboard. See section Customize the dashboard in the OpenStack Cloud Administrator Guide for information on setting up colors, logos, and site titles." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:43(para) -msgid "Set up session storage. See section Set up session storage for the dashboard in the OpenStack Cloud Administrator Guide for information on user session data." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:49(para) -msgid "To use the VNC client with the dashboard, the browser must support HTML5 Canvas and HTML5 WebSockets." -msgstr "" - -#: ./doc/install-guide/ch_horizon.xml:51(para) -msgid "For details about browsers that support noVNC, see https://github.com/kanaka/noVNC/blob/master/README.md, and https://github.com/kanaka/noVNC/wiki/Browser-support, respectively." -msgstr "" - -#: ./doc/install-guide/ch_swift.xml:7(title) -msgid "Add Object Storage" -msgstr "" - -#: ./doc/install-guide/ch_swift.xml:8(para) -msgid "The OpenStack Object Storage services (swift) work together to provide object storage and retrieval through a REST API. Your environment must at least include the Identity service (keystone) prior to deploying Object Storage." -msgstr "" - -#: ./doc/install-guide/ch_swift.xml:21(para) -msgid "Your OpenStack environment now includes Object Storage. You can launch an instance or add more services to your environment in the following chapters." -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:8(para) -msgid "This section describes how to verify operation of the Object Storage service." -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:12(para) -msgid "The swift client requires the -V 3 parameter to use the Identity version 3 API." -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:20(para) ./doc/install-guide/section_launch-instance-neutron.xml:285(para) ./doc/install-guide/section_launch-instance-nova.xml:252(para) -msgid "Source the demo credentials:" -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:24(para) -msgid "Show the service status:" -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:36(para) -msgid "Upload a test file:" -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:37(replaceable) ./doc/install-guide/section_swift-verify.xml:38(replaceable) ./doc/install-guide/section_swift-verify.xml:50(replaceable) ./doc/install-guide/section_swift-verify.xml:51(replaceable) -msgid "FILE" -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:39(para) -msgid "Replace FILE with the name of a local file to upload to the demo-container1 container." -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:44(para) -msgid "List containers:" -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:49(para) -msgid "Download a test file:" -msgstr "" - -#: ./doc/install-guide/section_swift-verify.xml:52(para) -msgid "Replace FILE with the name of the file uploaded to the demo-container1 container." -msgstr "" - -#: ./doc/install-guide/ch_networking.xml:7(title) -msgid "Add a networking component" -msgstr "" - -#: ./doc/install-guide/ch_networking.xml:8(para) -msgid "This chapter explains how to install and configure either OpenStack Networking (neutron), or the legacy nova-network component. The nova-network service enables you to deploy one network type per instance and is suitable for basic network functionality. OpenStack Networking enables you to deploy multiple network types per instance and includes plug-ins for a variety of products that support virtual networking." -msgstr "" - -#: ./doc/install-guide/ch_networking.xml:18(para) -msgid "For more information, see the Networking chapter of the OpenStack Cloud Administrator Guide." -msgstr "" - -#: ./doc/install-guide/ch_networking.xml:23(title) ./doc/install-guide/section_basics-networking-neutron.xml:12(title) -msgid "OpenStack Networking (neutron)" -msgstr "" - -#: ./doc/install-guide/ch_networking.xml:32(title) ./doc/install-guide/section_basics-networking-nova.xml:12(title) -msgid "Legacy networking (nova-network)" -msgstr "" - -#: ./doc/install-guide/ch_networking.xml:39(para) -msgid "Your OpenStack environment now includes the core components necessary to launch a basic instance. You can launch an instance or add more OpenStack services to your environment." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:8(title) -msgid "Configure the Compute service" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:9(para) -msgid "Telemetry uses a combination of notifications and an agent to collect Compute meters. Perform these steps on each compute node." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:12(title) -msgid "To install and configure the agent" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:14(para) ./doc/install-guide/section_basics-database.xml:18(para) ./doc/install-guide/section_swift-controller-node.xml:116(para) ./doc/install-guide/section_dashboard-install.xml:23(para) ./doc/install-guide/section_dashboard-install.xml:39(para) ./doc/install-guide/section_glance-install.xml:133(para) ./doc/install-guide/section_glance-install.xml:276(para) ./doc/install-guide/section_ceilometer-controller.xml:236(para) ./doc/install-guide/section_ceilometer-controller.xml:355(para) ./doc/install-guide/section_nova-compute-install.xml:49(para) ./doc/install-guide/section_nova-compute-install.xml:187(para) ./doc/install-guide/section_sahara-install.xml:18(para) ./doc/install-guide/section_cinder-storage-node.xml:140(para) ./doc/install-guide/section_cinder-storage-node.xml:273(para) ./doc/install-guide/section_swift-storage-node.xml:175(para) ./doc/install-guide/section_cinder-controller-node.xml:153(para) ./doc/install-guide/section_cinder-controller-node.xml:252(para) ./doc/install-guide/section_nova-controller-install.xml:125(para) ./doc/install-guide/section_nova-controller-install.xml:242(para) -msgid "Install the packages:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:20(para) ./doc/install-guide/section_ceilometer-controller.xml:252(para) ./doc/install-guide/section_ceilometer-controller.xml:375(para) -msgid "Edit the /etc/ceilometer/ceilometer.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:24(para) ./doc/install-guide/section_ceilometer-controller.xml:324(para) ./doc/install-guide/section_ceilometer-controller.xml:379(para) -msgid "In the [publisher] section, configure the telemetry secret:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:28(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:328(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:383(replaceable) -msgid "TELEMETRY_SECRET" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:29(para) -msgid "Replace TELEMETRY_SECRET with the telemetry secret you chose for the Telemetry module." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:50(para) -msgid "In the [keystone_authtoken] section, configure Identity service access:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:58(replaceable) ./doc/install-guide/section_ceilometer-nova.xml:76(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:297(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:316(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:395(replaceable) -msgid "CEILOMETER_PASS" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:59(para) -msgid "Replace CEILOMETER_PASS with the password you chose for the Telemetry module database." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:62(para) ./doc/install-guide/section_heat-install.xml:250(para) ./doc/install-guide/section_ceilometer-controller.xml:302(para) -msgid "Comment out any auth_host, auth_port, and auth_protocol options because the identity_uri option replaces them." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:69(para) ./doc/install-guide/section_ceilometer-controller.xml:309(para) ./doc/install-guide/section_ceilometer-controller.xml:388(para) -msgid "In the [service_credentials] section, configure service credentials:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:79(para) ./doc/install-guide/section_ceilometer-controller.xml:298(para) ./doc/install-guide/section_ceilometer-controller.xml:319(para) ./doc/install-guide/section_ceilometer-controller.xml:396(para) -msgid "Replace CEILOMETER_PASS with the password you chose for the ceilometer user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:95(title) ./doc/install-guide/section_ceilometer-swift.xml:44(title) -msgid "To configure notifications" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:96(para) -msgid "Configure the Compute service to send notifications to the message bus." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:99(para) -msgid "Edit the /etc/nova/nova.conf file and configure notifications in the [DEFAULT] section:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:111(title) ./doc/install-guide/section_heat-install.xml:339(title) ./doc/install-guide/section_basics-database.xml:63(title) ./doc/install-guide/section_dashboard-install.xml:115(title) ./doc/install-guide/section_neutron-controller-node.xml:371(title) ./doc/install-guide/section_glance-install.xml:302(title) ./doc/install-guide/section_ceilometer-controller.xml:404(title) ./doc/install-guide/section_basics-packages.xml:147(title) ./doc/install-guide/section_nova-compute-install.xml:202(title) ./doc/install-guide/section_cinder-storage-node.xml:295(title) ./doc/install-guide/section_cinder-controller-node.xml:267(title) ./doc/install-guide/section_nova-controller-install.xml:273(title) ./doc/install-guide/section_keystone-install.xml:402(title) -msgid "To finalize installation" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:113(para) -msgid "Restart the agent:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-nova.xml:117(para) ./doc/install-guide/section_ceilometer-nova.xml:123(para) -msgid "Start the Telemetry agent and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:7(title) -msgid "Create OpenStack client environment scripts" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:8(para) -msgid "The previous section used a combination of environment variables and command options to interact with the Identity service via the client. To increase efficiency of client operations, OpenStack supports simple client environment scripts also known as OpenRC files. These scripts typically contain common options for all clients, but also support unique options. For more information, see the OpenStack User Guide." -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:17(title) -msgid "To create the scripts" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:18(para) -msgid "Create client environment scripts for the admin and demo projects and users. Future portions of this guide reference these scripts to load appropriate credentials for client operations." -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:23(para) -msgid "Edit the admin-openrc.sh file and add the following content:" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:30(replaceable) ./doc/install-guide/section_trove-install.xml:115(replaceable) ./doc/install-guide/section_trove-install.xml:164(replaceable) ./doc/install-guide/section_keystone-install.xml:193(replaceable) -msgid "ADMIN_PASS" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:32(para) -msgid "Replace ADMIN_PASS with the password you chose for the admin user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:36(para) -msgid "Edit the demo-openrc.sh file and add the following content:" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:43(replaceable) -msgid "DEMO_PASS" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:45(para) -msgid "Replace DEMO_PASS with the password you chose for the demo user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:50(title) -msgid "To load client environment scripts" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:51(para) -msgid "To run clients as a specific project and user, you can simply load the associated client environment script prior to running them. For example:" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:55(para) -msgid "Load the admin-openrc.sh file to populate environment variables with the location of the Identity service and the admin project and user credentials:" -msgstr "" - -#: ./doc/install-guide/section_keystone-openrc.xml:61(para) -msgid "Request an authentication token:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:7(title) -msgid "Install and configure Orchestration" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:8(para) -msgid "This section describes how to install and configure the Orchestration module, code-named heat, on the controller node." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:12(para) -msgid "Before you install and configure Orchestration, you must create a database, service credentials, and API endpoints." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:15(para) ./doc/install-guide/section_neutron-controller-node.xml:14(para) ./doc/install-guide/section_glance-install.xml:24(para) ./doc/install-guide/section_sahara-install.xml:101(para) ./doc/install-guide/section_cinder-controller-node.xml:17(para) ./doc/install-guide/section_nova-controller-install.xml:15(para) ./doc/install-guide/section_keystone-install.xml:22(para) -msgid "To create the database, complete these steps:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:18(para) ./doc/install-guide/section_neutron-controller-node.xml:17(para) ./doc/install-guide/section_glance-install.xml:27(para) ./doc/install-guide/section_sahara-install.xml:104(para) ./doc/install-guide/section_cinder-controller-node.xml:20(para) ./doc/install-guide/section_nova-controller-install.xml:18(para) ./doc/install-guide/section_keystone-install.xml:25(para) -msgid "Use the database access client to connect to the database server as the root user:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:23(para) -msgid "Create the heat database:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:27(para) -msgid "Grant proper access to the heat database:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:30(replaceable) ./doc/install-guide/section_heat-install.xml:32(replaceable) ./doc/install-guide/section_heat-install.xml:210(replaceable) -msgid "HEAT_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:33(para) -msgid "Replace HEAT_DBPASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:37(para) ./doc/install-guide/section_neutron-controller-node.xml:36(para) ./doc/install-guide/section_glance-install.xml:46(para) ./doc/install-guide/section_sahara-install.xml:118(para) ./doc/install-guide/section_cinder-controller-node.xml:39(para) ./doc/install-guide/section_nova-controller-install.xml:39(para) ./doc/install-guide/section_keystone-install.xml:43(para) -msgid "Exit the database access client." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:47(para) ./doc/install-guide/section_neutron-controller-node.xml:46(para) ./doc/install-guide/section_glance-install.xml:56(para) ./doc/install-guide/section_ceilometer-controller.xml:125(para) ./doc/install-guide/section_sahara-install.xml:135(para) ./doc/install-guide/section_cinder-controller-node.xml:49(para) ./doc/install-guide/section_trove-install.xml:199(para) ./doc/install-guide/section_nova-controller-install.xml:49(para) -msgid "To create the service credentials, complete these steps:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:50(para) -msgid "Create the heat user:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:65(para) -msgid "Add the admin role to the heat user:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:76(para) -msgid "Create the heat_stack_owner role:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:86(para) -msgid "Add the heat_stack_owner role to the demo tenant and user:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:96(para) -msgid "You must add the heat_stack_owner role to users that manage stacks." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:101(para) -msgid "Create the heat_stack_user role:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:110(para) -msgid "The Orchestration service automatically assigns the heat_stack_user role to users that it creates during stack deployment. By default, this role restricts API operations. To avoid conflicts, do not add this role to users with the heat_stack_owner role." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:119(para) -msgid "Create the heat and heat-cfn service entities:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:147(para) -msgid "Create the Orchestration service API endpoints:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:187(title) ./doc/install-guide/section_heat-install.xml:309(title) -msgid "To install and configure the Orchestration components" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:189(para) ./doc/install-guide/section_heat-install.xml:311(para) -msgid "Run the following commands to install the packages:" -msgstr "" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1213476. -#: ./doc/install-guide/section_heat-install.xml:198(para) -msgid "Copy the /usr/share/heat/heat-dist.conf file to /etc/heat/heat.conf." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:202(para) ./doc/install-guide/section_heat-install.xml:325(para) -msgid "Edit the /etc/heat/heat.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:206(para) ./doc/install-guide/section_neutron-controller-node.xml:178(para) ./doc/install-guide/section_glance-install.xml:145(para) ./doc/install-guide/section_glance-install.xml:213(para) ./doc/install-guide/section_ceilometer-controller.xml:256(para) ./doc/install-guide/section_cinder-storage-node.xml:152(para) ./doc/install-guide/section_cinder-controller-node.xml:168(para) ./doc/install-guide/section_keystone-install.xml:102(para) -msgid "In the [database] section, configure database access:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:211(para) -msgid "Replace HEAT_DBPASS with the password you chose for the Orchestration database." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:232(para) -msgid "In the [keystone_authtoken] and [ec2authtoken] sections, configure Identity service access:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:241(replaceable) -msgid "HEAT_PASS" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:246(para) -msgid "Replace HEAT_PASS with the password you chose for the heat user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:257(para) -msgid "In the [DEFAULT] section, configure the metadata and wait condition URLs:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:265(para) -msgid "In the [DEFAULT] section, configure information about the heat Identity service domain:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:270(replaceable) ./doc/install-guide/section_heat-install.xml:297(replaceable) -msgid "HEAT_DOMAIN_PASS" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:272(para) -msgid "Replace HEAT_DOMAIN_PASS with the password you chose for the admin user of the heat user domain in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:293(para) -msgid "Create the heat domain in Identity service:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:298(para) -msgid "Replace HEAT_DOMAIN_PASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:304(para) -msgid "Populate the Orchestration database:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:315(para) ./doc/install-guide/section_glance-install.xml:280(para) ./doc/install-guide/section_ceilometer-controller.xml:361(para) ./doc/install-guide/section_sahara-install.xml:22(para) -msgid "Respond to prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:329(para) -msgid "In the [ec2authtoken] section, configure Identity service access:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:341(para) -msgid "Restart the Orchestration services:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:347(para) -msgid "Start the Orchestration services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:355(para) ./doc/install-guide/section_keystone-install.xml:412(para) -msgid "By default, the Ubuntu packages create a SQLite database." -msgstr "" - -#: ./doc/install-guide/section_heat-install.xml:356(para) ./doc/install-guide/section_glance-install.xml:316(para) ./doc/install-guide/section_nova-compute-install.xml:239(para) ./doc/install-guide/section_cinder-controller-node.xml:281(para) ./doc/install-guide/section_nova-controller-install.xml:295(para) ./doc/install-guide/section_keystone-install.xml:413(para) -msgid "Because this configuration uses a SQL database server, you can remove the SQLite database file:" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:7(title) -msgid "Finalize installation" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:9(title) -msgid "Configure hashes and default storage policy" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:18(para) -msgid "Obtain the /etc/swift/swift.conf file from the Object Storage source repository:" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:24(para) -msgid "Edit the /etc/swift/swift.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:28(para) -msgid "In the [swift-hash] section, configure the hash path prefix and suffix for your environment." -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:32(replaceable) -msgid "HASH_PATH_PREFIX" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:33(replaceable) -msgid "HASH_PATH_SUFFIX" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:34(para) -msgid "Replace HASH_PATH_PREFIX and HASH_PATH_SUFFIX with unique values." -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:38(para) -msgid "Keep these values secret and do not change or lose them." -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:43(para) -msgid "In the [storage-policy:0] section, configure the default storage policy:" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:53(para) -msgid "Copy the swift.conf file to the /etc/swift directory on each storage node and any additional nodes running the proxy service." -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:58(para) -msgid "On all nodes, ensure proper ownership of the configuration directory:" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:63(para) -msgid "On the controller node and any other nodes running the proxy service, restart the Object Storage proxy service including its dependencies:" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:70(para) -msgid "On the controller node and any other nodes running the proxy service, start the Object Storage proxy service including its dependencies and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:77(para) -msgid "On the storage nodes, start the Object Storage services:" -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:80(para) -msgid "The storage node runs many Object Storage services and the command makes them easier to manage. You can ignore errors from services not running on the storage node." -msgstr "" - -#: ./doc/install-guide/section_swift-finalize-installation.xml:87(para) -msgid "On the storage nodes, start the Object Storage services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:8(title) -msgid "SQL database" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:9(para) -msgid "Most OpenStack services use an SQL database to store information. The database typically runs on the controller node. The procedures in this guide use MariaDB or MySQL depending on the distribution. OpenStack services also support other SQL databases including PostgreSQL." -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:16(title) -msgid "To install and configure the database server" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:20(para) -msgid "The Python MySQL library is compatible with MariaDB." -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:28(para) -msgid "Choose a suitable password for the database root account." -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:31(para) -msgid "Create and edit the /etc/mysql/conf.d/mysqld_openstack.cnf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:34(para) -msgid "Create and edit the /etc/my.cnf.d/mariadb_openstack.cnf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:39(para) -msgid "In the [mysqld] section, set the bind-address key to the management IP address of the controller node to enable access by other nodes via the management network:" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:48(para) -msgid "In the [mysqld] section, set the following keys to enable useful options and the UTF-8 character set:" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:65(para) ./doc/install-guide/section_sahara-install.xml:94(para) -msgid "Restart the database service:" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:69(para) -msgid "Start the database service and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:77(para) -msgid "Secure the database service:" -msgstr "" - -#: ./doc/install-guide/section_basics-database.xml:78(para) -msgid "Secure the database service including choosing a suitable password for the root account:" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:7(title) -msgid "Verify the Database service installation" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:8(para) -msgid "To verify that the Database service is installed and configured correctly, try executing a trove command:" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:12(para) -msgid "Source the demo-openrc.sh file." -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:16(para) -msgid "Retrieve the trove instances list:" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:18(para) ./doc/install-guide/section_sahara-verify.xml:19(para) -msgid "You should see output similar to this:" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:25(para) -msgid "Assuming you have created an image for the type of database you want, and have updated the datastore to use that image, you can now create a trove instance (Database service). To do this, use the trove command." -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:32(para) -msgid "This example shows you how to create a MySQL 5.5 database:" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:34(replaceable) -msgid "name" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:34(replaceable) -msgid "DBNAME" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:35(replaceable) -msgid "USER" -msgstr "" - -#: ./doc/install-guide/section_trove-verify.xml:35(replaceable) -msgid "PASSWORD" -msgstr "" - -#: ./doc/install-guide/ch_sahara.xml:7(title) -msgid "Add the Data processing service" -msgstr "" - -#: ./doc/install-guide/ch_sahara.xml:8(para) -msgid "The Data processing service (sahara) enables users to provide a scalable data processing stack and associated management interfaces. This includes provisioning and operation of data processing clusters as well as scheduling and operation of data processing jobs." -msgstr "" - -#: ./doc/install-guide/ch_sahara.xml:14(para) ./doc/install-guide/ch_trove.xml:11(para) -msgid "This chapter is a work in progress. It may contain incorrect information, and will be updated frequently." -msgstr "" - -#: ./doc/install-guide/section_nova-verify.xml:8(para) -msgid "Verify operation of the Compute service." -msgstr "" - -#: ./doc/install-guide/section_nova-verify.xml:19(para) -msgid "List service components to verify successful launch and registration of each process:" -msgstr "" - -#: ./doc/install-guide/section_nova-verify.xml:32(para) -msgid "This output should indicate four service components enabled on the controller node and one service component enabled on the compute node." -msgstr "" - -#: ./doc/install-guide/section_nova-verify.xml:38(para) -msgid "List API endpoints in the Identity service to verify connectivity with the Identity service:" -msgstr "" - -#: ./doc/install-guide/section_nova-verify.xml:126(para) -msgid "List images in the Image service catalog to verify connectivity with the Image service:" -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:8(title) -msgid "debconf concepts" -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:9(para) -msgid "This chapter explains how to use the Debian debconf and dbconfig-common packages to configure OpenStack services. These packages enable users to perform configuration tasks. When users install OpenStack packages, debconf prompts the user for responses, which seed the contents of configuration files associated with that package. After package installation, users can update the configuration of a package by using the program." -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:19(para) -msgid "If you are familiar with these packages and pre-seeding, you can proceed to ." -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:22(title) -msgid "The Debian packages" -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:23(para) -msgid "The rules described here are from the Debian Policy Manual. If any rule described in this chapter is not respected, you have found a serious bug that must be fixed." -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:28(para) -msgid "When you install or upgrade a Debian package, all configuration file values are preserved. Using the debconf database as a registry is considered a bug in Debian. If you edit something in any OpenStack configuration file, the debconf package reads that value when it prepares to prompt the user. For example, to change the log in name for the RabbitMQ messaging queue for a service, you can edit its value in the corresponding configuration file." -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:37(para) -msgid "To opt out of using the debconf package, run the command and select non-interactive mode:" -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:42(para) -msgid "Then, debconf does not prompt you." -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:44(para) -msgid "Another way to disable the debconf package is to prefix the command with DEBIAN_FRONTEND=noninteractive, as follows:" -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:50(para) -msgid "If you configure a package with debconf incorrectly, you can re-configure it, as follows:" -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:53(replaceable) -msgid "PACKAGE-NAME" -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:54(para) -msgid "This calls the post-installation script for the PACKAGE-NAME package after the user responds to all prompts. If you cannot install a Debian package in a non-interactive way, you have found a release-critical bug in Debian. Report it to the Debian bug tracking system." -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:59(para) -msgid "Generally, the -common packages install the configuration files. For example, the glance-common package installs the glance-api.conf and glance-registry.conf files. So, for the Image service, you must re-configure the glance-common package. The same applies for cinder-common, nova-common, and heat-common packages." -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:69(para) -msgid "In debconf, the higher the priority for a screen, the greater the chance that the user sees that screen. If a debconf screen has medium priority and you configure the Debian system to show only critical prompts, which is the default in Debian, the user does not see that debconf screen. Instead, the default for the related package is used. In the Debian OpenStack packages, a number of debconf screens are set with medium priority. Consequently, if you want to respond to all debconf screens from the Debian OpenStack packages, you must run the following command and select the medium priority before you install any packages:" -msgstr "" - -#: ./doc/install-guide/section_debconf-concepts.xml:88(para) -msgid "The packages do not require pre-depends. If dbconfig-common is already installed on the system, the user sees all prompts. However, you cannot define the order in which the debconf screens appear. The user must make sense of it even if the prompts appear in an illogical order." -msgstr "" - -#: ./doc/install-guide/ch_glance.xml:7(title) -msgid "Add the Image service" -msgstr "" - -#: ./doc/install-guide/ch_glance.xml:8(para) -msgid "The OpenStack Image service (glance) enables users to discover, register, and retrieve virtual machine images. It offers a REST API that enables you to query virtual machine image metadata and retrieve an actual image. You can store virtual machine images made available through the Image service in a variety of locations, from simple file systems to object-storage systems like OpenStack Object Storage." -msgstr "" - -#: ./doc/install-guide/ch_glance.xml:16(para) -msgid "For simplicity, this guide describes configuring the Image service to use the file back end, which uploads and stores in a directory on the controller node hosting the Image service. By default, this directory is /var/lib/glance/images/." -msgstr "" - -#: ./doc/install-guide/ch_glance.xml:21(para) -msgid "Before you proceed, ensure that the controller node has at least several gigabytes of space available in this directory." -msgstr "" - -#: ./doc/install-guide/ch_glance.xml:23(para) -msgid "For information on requirements for other back ends, see Configuration Reference." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:7(title) -msgid "Install and configure the controller node" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:8(para) -msgid "This section describes how to install and configure the proxy service that handles requests for the account, container, and object services operating on the storage nodes. For simplicity, this guide installs and configures the proxy service on the controller node. However, you can run the proxy service on any node with network connectivity to the storage nodes. Additionally, you can install and configure the proxy service on multiple nodes to increase performance and redundancy. For more information, see the Deployment Guide." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:20(para) -msgid "The proxy service relies on an authentication and authorization mechanism such as the Identity service. However, unlike other services, it also offers an internal mechanism that allows it to operate without any other OpenStack services. However, for simplicity, this guide references the Identity service in . Before you configure the Object Storage service, you must create service credentials and an API endpoint." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:28(para) -msgid "The Object Storage service does not use a SQL database on the controller node. Instead, it uses distributed SQLite databases on each storage node." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:39(para) -msgid "To create the Identity service credentials, complete these steps:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:43(para) -msgid "Create the swift user:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:58(para) -msgid "Add the admin role to the swift user:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:69(para) -msgid "Create the swift service entity:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:85(para) -msgid "Create the Object Storage service API endpoint:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:107(title) -msgid "To install and configure the controller node components" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:118(para) -msgid "Complete OpenStack environments already include some of these packages." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:129(para) -msgid "Create the /etc/swift directory." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:132(para) -msgid "Obtain the proxy service configuration file from the Object Storage source repository:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:138(para) ./doc/install-guide/section_ceilometer-swift.xml:48(para) -msgid "Edit the /etc/swift/proxy-server.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:142(para) -msgid "In the [DEFAULT] section, configure the bind port, user, and configuration directory:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:151(para) ./doc/install-guide/section_swift-storage-node.xml:218(para) ./doc/install-guide/section_swift-storage-node.xml:260(para) ./doc/install-guide/section_swift-storage-node.xml:302(para) -msgid "In the [pipeline:main] section, enable the appropriate modules:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:156(para) ./doc/install-guide/section_swift-storage-node.xml:223(para) ./doc/install-guide/section_swift-storage-node.xml:265(para) ./doc/install-guide/section_swift-storage-node.xml:307(para) -msgid "For more information on other modules that enable additional features, see the Deployment Guide." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:163(para) -msgid "In the [app:proxy-server] section, enable automatic account creation:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:170(para) -msgid "In the [filter:keystoneauth] section, configure the operator roles:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:178(para) -msgid "In the [filter:authtoken] section, configure Identity service access:" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:190(replaceable) -msgid "SWIFT_PASS" -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:192(para) -msgid "Replace SWIFT_PASS with the password you chose for the swift user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:196(para) -msgid "Comment out or remove any other options in the [filter:authtoken] section." -msgstr "" - -#: ./doc/install-guide/section_swift-controller-node.xml:201(para) -msgid "In the [filter:cache] section, configure the memcached location:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:7(title) -msgid "Configure the Object Storage service" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:8(para) -msgid "To retrieve storage-oriented events and samples, configure the Object Storage service to send notifications to the message bus." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:12(para) -msgid "The Telemetry service requires access to the Object Storage service using the ResellerAdmin role. Perform these steps on the controller node." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:16(para) -msgid "Source the admin credentials to gain access to admin-only CLI commands." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:21(para) -msgid "Create the ResellerAdmin role:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:31(para) -msgid "Add the ResellerAdmin role to the service tenant and ceilometer user:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:45(para) -msgid "Perform these steps on the controller and any other nodes that run the Object Storage proxy service." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:52(para) -msgid "In the [filter:keystoneauth] section, add the ResellerAdmin role:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:59(para) -msgid "In the [pipeline:main] section, add ceilometer:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:66(para) -msgid "In the [filter:ceilometer] section, configure notifications:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:83(para) -msgid "Add the swift system user to the ceilometer system group to permit access to the Telemetry configuration files by the Object Storage service:" -msgstr "" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1214928. -#: ./doc/install-guide/section_ceilometer-swift.xml:90(para) -msgid "Install the ceilometermiddleware package:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-swift.xml:94(para) -msgid "Restart the Object Storage proxy service:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:8(title) ./doc/install-guide/section_glance-install.xml:7(title) ./doc/install-guide/section_keystone-install.xml:11(title) -msgid "Install and configure" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:9(para) -msgid "This section describes how to install and configure the dashboard on the controller node." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:11(para) -msgid "The dashboard relies on functional core services including Identity, Image service, Compute, and either Networking (neutron) or legacy networking (nova-network). Environments with stand-alone services such as Object Storage cannot use the dashboard. For more information, see the developer documentation." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:17(para) -msgid "This section assumes proper installation, configuration, and operation of the Identity service using the Apache HTTP server and Memcached as described in ." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:21(title) ./doc/install-guide/section_dashboard-install.xml:37(title) -msgid "To install the dashboard components" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:28(para) -msgid "Ubuntu installs the openstack-dashboard-ubuntu-theme package as a dependency. Some users reported issues with this theme in previous releases. If you encounter issues, remove this package to restore the original OpenStack theme." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:43(para) -msgid "Respond to prompts for web server configuration." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:45(para) -msgid "The automatic configuration process generates a self-signed SSL certificate. Consider obtaining an official certificate for production environments." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:52(title) -msgid "To configure the dashboard" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:54(para) -msgid "Configure the web server:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:60(para) -msgid "Edit the /etc/openstack-dashboard/local_settings.py file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:63(para) -msgid "Edit the /etc/openstack-dashboard/local_settings file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:66(para) -msgid "Edit the /srv/www/openstack-dashboard/openstack_dashboard/local/local_settings.py file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:71(para) -msgid "Configure the dashboard to use OpenStack services on the controller node:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:76(para) -msgid "Allow all hosts to access the dashboard:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:80(para) -msgid "Configure the memcached session storage service:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:89(para) -msgid "Comment out any other session storage configuration." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:92(para) -msgid "By default, SLES and openSUSE use a SQL database for session storage. For simplicity, we recommend changing the configuration to use memcached for session storage." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:99(para) -msgid "Configure user as the default role for users that you create via the dashboard:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:104(para) -msgid "Optionally, configure the time zone:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:105(replaceable) -msgid "TIME_ZONE" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:106(para) -msgid "Replace TIME_ZONE with an appropriate time zone identifier. For more information, see the list of time zones." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:117(para) -msgid "On RHEL and CentOS, configure SELinux to permit the web server to connect to OpenStack services:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:122(para) -msgid "Due to a packaging bug, the dashboard CSS fails to load properly. Run the following command to resolve this issue:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:125(para) -msgid "For more information, see the bug report." -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:130(para) -msgid "Reload the web server configuration:" -msgstr "" - -#: ./doc/install-guide/section_dashboard-install.xml:134(para) -msgid "Start the web server and session storage service and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:7(title) -msgid "Create initial network" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:8(para) -msgid "Before launching your first instance, you must create the necessary virtual network infrastructure to which the instance will connect. This network typically provides Internet access from instances. You can enable Internet access to individual instances using a floating IP address and suitable security group rules. The admin tenant owns this network because it provides external network access for multiple tenants." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:17(para) -msgid "This network shares the same subnet associated with the physical network connected to the external interface on the compute node. You should specify an exclusive slice of this subnet to prevent interference with other devices on the external network." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:26(title) -msgid "To create the network" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:28(para) ./doc/install-guide/section_heat-verify.xml:12(para) -msgid "Source the admin tenant credentials:" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:32(para) ./doc/install-guide/section_neutron-initial-networks.xml:53(para) ./doc/install-guide/section_neutron-initial-networks.xml:142(para) -msgid "Create the network:" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:33(para) -msgid "Replace NETWORK_CIDR with the subnet associated with the physical network." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:36(replaceable) -msgid "NETWORK_CIDR" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:37(para) -msgid "For example, using an exclusive slice of 203.0.113.0/24 with IP address range 203.0.113.24 to 203.0.113.31:" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:44(para) ./doc/install-guide/section_swift-initial-rings.xml:35(para) ./doc/install-guide/section_swift-initial-rings.xml:105(para) ./doc/install-guide/section_swift-initial-rings.xml:174(para) ./doc/install-guide/section_launch-instance-neutron.xml:238(para) ./doc/install-guide/section_launch-instance-nova.xml:27(para) -msgid "This command provides no output." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-initial-network.xml:48(para) -msgid "Verify creation of the network:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-glance.xml:7(title) -msgid "Configure the Image service" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-glance.xml:8(para) -msgid "To retrieve image-oriented events and samples, configure the Image service to send notifications to the message bus. Perform these steps on the controller node." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-glance.xml:12(para) -msgid "Edit the /etc/glance/glance-api.conf and /etc/glance/glance-registry.conf files and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-glance.xml:16(para) -msgid "In the [DEFAULT] section, configure notifications and RabbitMQ message broker access:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-glance.xml:30(para) -msgid "Restart the Image service:" -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:8(para) -msgid "This section describes how to verify operation of the Block Storage service by creating a volume." -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:10(para) -msgid "For more information about how to manage volumes, see the OpenStack User Guide." -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:18(para) -msgid "In each client environment script, configure the Block Storage client to use API version 2.0:" -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:28(para) -msgid "List service components to verify successful launch of each process:" -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:39(para) -msgid "Source the demo credentials to perform the following steps as a non-administrative project:" -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:44(para) -msgid "Create a 1 GB volume:" -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:73(para) -msgid "Verify creation and availability of the volume:" -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:80(para) -msgid "If the status does not indicate available, check the logs in the /var/log/cinder directory on the controller and volume nodes for more information." -msgstr "" - -#: ./doc/install-guide/section_cinder-verify.xml:84(para) -msgid "The launch an instance chapter includes instructions for attaching this volume to an instance." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:7(title) -msgid "Create the service entity and API endpoint" -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:8(para) -msgid "The Identity service provides a catalog of services and their locations. Each service that you add to your OpenStack environment requires a service entity and several API endpoint in the catalog." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:15(para) -msgid "By default, the Identity service database contains no information to support conventional authentication and catalog services. You must use a temporary authentication token that you created in to initialize the service entity and API endpoint for the Identity service." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:20(para) -msgid "You must pass the value of the authentication token to the command with the --os-token parameter or set the OS_TOKEN environment variable. Similarly, you must also pass the value of the Identity service URL to the command with the --os-url parameter or set the OS_URL environment variable. This guide uses environment variables to reduce command length." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:30(para) -msgid "For security reasons, do not use the temporary authentication token for longer than necessary to initialize the Identity service." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:35(para) -msgid "Configure the authentication token:" -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:36(replaceable) ./doc/install-guide/section_keystone-install.xml:97(replaceable) ./doc/install-guide/section_keystone-install.xml:184(replaceable) -msgid "ADMIN_TOKEN" -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:37(para) -msgid "Replace ADMIN_TOKEN with the authentication token that you generated in . For example:" -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:43(para) -msgid "Configure the endpoint URL:" -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:48(title) -msgid "To create the service entity and API endpoint" -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:50(para) ./doc/install-guide/section_keystone-users.xml:21(para) -msgid "The packages can automatically create the service entity and API endpoint." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:54(para) -msgid "The Identity service manages a catalog of services in your OpenStack environment. Services use this catalog to determine the other services available in your environment." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:57(para) -msgid "Create the service entity for the Identity service:" -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:71(para) ./doc/install-guide/section_glance-verify.xml:78(para) ./doc/install-guide/section_keystone-users.xml:40(para) -msgid "OpenStack generates IDs dynamically, so you will see different values in the example command output." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:76(para) -msgid "The Identity service manages a catalog of API endpoints associated with the services in your OpenStack environment. Services use this catalog to determine how to communicate with other services in your environment." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:80(para) -msgid "OpenStack uses three API endpoint variants for each service: admin, internal, and public. The admin API endpoint allows modifying users and tenants by default, while the public and internal APIs do not. In a production environment, the variants might reside on separate networks that service different types of users for security reasons. For instance, the public API network might be reachable from outside the cloud for management tools, the admin API network might be protected, while the internal API network is connected to each host. Also, OpenStack supports multiple regions for scalability. For simplicity, this guide uses the management network for all endpoint variations and the default RegionOne region." -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:92(para) -msgid "Create the Identity service API endpoint:" -msgstr "" - -#: ./doc/install-guide/section_keystone-services.xml:114(para) -msgid "Each service that you add to your OpenStack environment requires one or more service entities and one API endpoint in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:7(title) ./doc/install-guide/section_ceilometer-controller.xml:11(title) ./doc/install-guide/section_cinder-controller-node.xml:7(title) ./doc/install-guide/section_nova-controller-install.xml:7(title) -msgid "Install and configure controller node" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:10(para) -msgid "Before you configure the OpenStack Networking (neutron) service, you must create a database, service credentials, and API endpoint." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:22(para) -msgid "Create the neutron database:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:26(para) -msgid "Grant proper access to the neutron database:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:29(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:31(replaceable) ./doc/install-guide/section_neutron-controller-node.xml:182(replaceable) -msgid "NEUTRON_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:32(para) -msgid "Replace NEUTRON_DBPASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:49(para) -msgid "Create the neutron user:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:64(para) -msgid "Add the admin role to the neutron user:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:75(para) ./doc/install-guide/section_trove-install.xml:228(para) -msgid "Create the neutron service entity:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:91(para) -msgid "Create the Networking service API endpoint:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:162(title) -msgid "To configure the Networking server component" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:163(para) -msgid "The Networking server component configuration includes the database, authentication mechanism, message queue, topology change notifications, and plug-in." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:183(para) -msgid "Replace NEUTRON_DBPASS with the password you chose for the database." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:240(para) -msgid "In the [DEFAULT] and [nova] sections, configure Networking to notify Compute of network topology changes:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:258(replaceable) ./doc/install-guide/section_nova-compute-install.xml:92(replaceable) ./doc/install-guide/section_nova-controller-install.xml:182(replaceable) -msgid "NOVA_PASS" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:259(para) -msgid "Replace NOVA_PASS with the password you chose for the nova user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:276(para) -msgid "The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the virtual networking framework for instances. However, the controller node does not need the OVS components because it does not handle instance network traffic." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:300(para) -msgid "Once you configure the ML2 plug-in, changing values in the type_drivers option can lead to database inconsistency." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:332(para) -msgid "Edit the /etc/nova/nova.conf file on the controller node and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:391(para) -msgid "Populate the database:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:397(para) -msgid "Database population occurs later for Networking because the script requires complete server and plug-in configuration files." -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:403(para) ./doc/install-guide/section_nova-networking-controller-node.xml:28(para) ./doc/install-guide/section_nova-controller-install.xml:275(para) -msgid "Restart the Compute services:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:409(para) ./doc/install-guide/section_neutron-controller-node.xml:415(para) -msgid "Start the Networking service and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:421(para) -msgid "Restart the Networking service:" -msgstr "" - -#: ./doc/install-guide/section_neutron-controller-node.xml:436(para) -msgid "List loaded extensions to verify successful launch of the neutron-server process:" -msgstr "" - -#: ./doc/install-guide/ch_cinder.xml:7(title) -msgid "Add the Block Storage service" -msgstr "" - -#: ./doc/install-guide/ch_cinder.xml:8(para) -msgid "The OpenStack Block Storage service provides block storage devices to guest instances. The method in which the storage is provisioned and consumed is determined by the Block Storage driver, or drivers in the case of a multi-backend configuration. There are a variety of drivers that are available: NAS/SAN, NFS, iSCSI, Ceph, and more. The Block Storage API and scheduler services typically run on the controller nodes. Depending upon the drivers used, the volume service can run on controllers, compute nodes, or standalone storage nodes. For more information, see the Configuration Reference." -msgstr "" - -#: ./doc/install-guide/ch_cinder.xml:20(para) -msgid "This chapter omits the backup manager because it depends on the Object Storage service." -msgstr "" - -#: ./doc/install-guide/ch_cinder.xml:29(para) -msgid "Your OpenStack environment now includes Block Storage. You can launch an instance or add more services to your environment in the following chapters." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-controller-node.xml:7(title) -msgid "Configure controller node" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-controller-node.xml:8(para) -msgid "Legacy networking primarily involves compute nodes. However, you must configure the controller node to use legacy networking." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-controller-node.xml:12(title) ./doc/install-guide/section_nova-networking-compute-node.xml:24(title) -msgid "To configure legacy networking" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-controller-node.xml:18(para) -msgid "In the [DEFAULT] section, configure the network and security group APIs:" -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:8(title) -msgid "Message queue" -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:9(para) -msgid "OpenStack uses a message queue to coordinate operations and status information among services. The message queue service typically runs on the controller node. OpenStack supports several message queue services including RabbitMQ, Qpid, and ZeroMQ. However, most distributions that package OpenStack support a particular message queue service. This guide implements the RabbitMQ message queue service because most distributions support it. If you prefer to implement a different message queue service, consult the documentation associated with it." -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:22(title) -msgid "To install the message queue service" -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:24(para) -msgid "Install the package:" -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:35(title) -msgid "To configure the message queue service" -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:37(para) -msgid "Start the message queue service and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:43(para) -msgid "Add the openstack user:" -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:47(para) -msgid "Replace RABBIT_PASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_basics-queue.xml:51(para) -msgid "Permit configuration, write, and read access for the openstack user:" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_glance-install.xml:296(None) -msgid "@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; md5=78bef92c36a140ad042074f6345d8917" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:8(para) -msgid "This section describes how to install and configure the Image service, code-named glance, on the controller node. For simplicity, this configuration stores images on the local file system." -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:12(para) -msgid "This section assumes proper installation, configuration, and operation of the Identity service as described in and as well as setup of the admin-openrc.sh script as described in ." -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:21(para) -msgid "Before you install and configure the Image service, you must create a database, service credentials, and API endpoint." -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:32(para) -msgid "Create the glance database:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:36(para) -msgid "Grant proper access to the glance database:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:39(replaceable) ./doc/install-guide/section_glance-install.xml:41(replaceable) ./doc/install-guide/section_glance-install.xml:149(replaceable) ./doc/install-guide/section_glance-install.xml:217(replaceable) -msgid "GLANCE_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:42(para) -msgid "Replace GLANCE_DBPASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:59(para) -msgid "Create the glance user:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:74(para) -msgid "Add the admin role to the glance user and service project:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:86(para) -msgid "Create the glance service entity:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:102(para) -msgid "Create the Image service API endpoint:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:124(title) ./doc/install-guide/section_glance-install.xml:274(title) -msgid "To install and configure the Image service components" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:141(para) -msgid "Edit the /etc/glance/glance-api.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:150(para) ./doc/install-guide/section_glance-install.xml:218(para) -msgid "Replace GLANCE_DBPASS with the password you chose for the Image service database." -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:154(para) ./doc/install-guide/section_glance-install.xml:222(para) -msgid "In the [keystone_authtoken] and [paste_deploy] sections, configure Identity service access:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:166(replaceable) ./doc/install-guide/section_glance-install.xml:234(replaceable) -msgid "GLANCE_PASS" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:171(para) ./doc/install-guide/section_glance-install.xml:239(para) -msgid "Replace GLANCE_PASS with the password you chose for the glance user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:180(para) -msgid "In the [glance_store] section, configure the local file system store and location of image files:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:188(para) ./doc/install-guide/section_glance-install.xml:248(para) -msgid "In the [DEFAULT] section, configure the noop notification driver to disable notifications because they only pertain to the optional Telemetry service:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:195(para) ./doc/install-guide/section_glance-install.xml:255(para) -msgid "The Telemetry chapter provides an Image service configuration that enables notifications." -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:209(para) -msgid "Edit the /etc/glance/glance-registry.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:269(para) -msgid "Populate the Image service database:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:290(para) -msgid "Select the keystone pipeline to configure the Image service to use the Identity service:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:304(para) -msgid "Restart the Image service services:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:309(para) -msgid "Start the Image service services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_glance-install.xml:315(para) ./doc/install-guide/section_nova-compute-install.xml:238(para) ./doc/install-guide/section_cinder-controller-node.xml:280(para) ./doc/install-guide/section_nova-controller-install.xml:294(para) -msgid "By default, the Ubuntu packages create an SQLite database." -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:7(title) -msgid "Create initial rings" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:8(para) -msgid "Before starting the Object Storage services, you must create the initial account, container, and object rings. The ring builder creates configuration files that each node uses to determine and deploy the storage architecture. For simplicity, this guide uses one region and zone with 2^10 (1024) maximum partitions, 3 replicas of each object, and 1 hour minimum time between moving a partition more than once. For Object Storage, a partition indicates a directory on a storage device rather than a conventional partition table. For more information, see the Deployment Guide." -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:20(title) -msgid "Account ring" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:21(para) -msgid "The account server uses the account ring to maintain lists of containers." -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:24(title) ./doc/install-guide/section_swift-initial-rings.xml:93(title) ./doc/install-guide/section_swift-initial-rings.xml:163(title) -msgid "To create the ring" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:29(para) ./doc/install-guide/section_swift-initial-rings.xml:98(para) ./doc/install-guide/section_swift-initial-rings.xml:168(para) -msgid "Change to the /etc/swift directory." -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:32(para) -msgid "Create the base account.builder file:" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:39(para) ./doc/install-guide/section_swift-initial-rings.xml:109(para) ./doc/install-guide/section_swift-initial-rings.xml:178(para) -msgid "Add each storage node to the ring:" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:41(replaceable) ./doc/install-guide/section_swift-initial-rings.xml:111(replaceable) ./doc/install-guide/section_swift-initial-rings.xml:180(replaceable) -msgid "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:42(replaceable) ./doc/install-guide/section_swift-initial-rings.xml:112(replaceable) ./doc/install-guide/section_swift-initial-rings.xml:181(replaceable) -msgid "DEVICE_NAME" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:42(replaceable) ./doc/install-guide/section_swift-initial-rings.xml:112(replaceable) ./doc/install-guide/section_swift-initial-rings.xml:181(replaceable) -msgid "DEVICE_WEIGHT" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:43(para) ./doc/install-guide/section_swift-initial-rings.xml:113(para) ./doc/install-guide/section_swift-initial-rings.xml:182(para) -msgid "Replace STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network on the storage node. Replace DEVICE_NAME with a storage device name on the same storage node. For example, using the first storage node in with the /dev/sdb1 storage device and weight of 100:" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:53(para) ./doc/install-guide/section_swift-initial-rings.xml:123(para) ./doc/install-guide/section_swift-initial-rings.xml:191(para) -msgid "Repeat this command for each storage device on each storage node. In the example architecture, use the command in four variations:" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:69(para) ./doc/install-guide/section_swift-initial-rings.xml:139(para) ./doc/install-guide/section_swift-initial-rings.xml:207(para) -msgid "Verify the ring contents:" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:82(para) ./doc/install-guide/section_swift-initial-rings.xml:152(para) ./doc/install-guide/section_swift-initial-rings.xml:220(para) -msgid "Rebalance the ring:" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:89(title) -msgid "Container ring" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:90(para) -msgid "The container server uses the container ring to maintain lists of objects. However, it does not track object locations." -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:101(para) -msgid "Create the base container.builder file:" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:159(title) -msgid "Object ring" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:160(para) -msgid "The object server uses the object ring to maintain lists of object locations on local devices." -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:171(para) -msgid "Create the base object.builder file:" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:227(title) -msgid "Distribute ring configuration files" -msgstr "" - -#: ./doc/install-guide/section_swift-initial-rings.xml:228(para) -msgid "Copy the account.ring.gz, container.ring.gz, and object.ring.gz files to the /etc/swift directory on each storage node and any additional nodes running the proxy service." -msgstr "" - -#: ./doc/install-guide/ch_ceilometer.xml:7(title) -msgid "Add the Telemetry module" -msgstr "" - -#: ./doc/install-guide/ch_ceilometer.xml:8(para) -msgid "Telemetry provides a framework for monitoring and metering the OpenStack cloud. It is also known as the ceilometer project." -msgstr "" - -#: ./doc/install-guide/ch_ceilometer.xml:20(para) -msgid "Your OpenStack environment now includes Telemetry. You can launch an instance or add more services to your environment in the previous chapters." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:12(para) -msgid "This section describes how to install and configure the Telemetry module, code-named ceilometer, on the controller node. The Telemetry module uses separate agents to collect measurements from each OpenStack service in your environment." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:18(para) -msgid "Before you install and configure Telemetry, you must install MongoDB, create a MongoDB database, service credentials, and API endpoint." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:22(para) -msgid "Enable the Open Build Service repositories for MongoDB based on your openSUSE or SLES version:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:24(para) -msgid "On openSUSE:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:26(para) -msgid "On SLES:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:29(para) -msgid "The packages are signed by GPG key 562111AC05905EA8. You should verify the fingerprint of the imported GPG key before using it." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:40(para) ./doc/install-guide/section_ceilometer-controller.xml:197(para) -msgid "Install the MongoDB package:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:46(para) -msgid "Edit the /etc/mongodb.conf/etc/mongod.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:51(para) ./doc/install-guide/section_ceilometer-controller.xml:205(para) -msgid "Configure the bind_ip key to use the management interface IP address of the controller node." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:56(para) ./doc/install-guide/section_ceilometer-controller.xml:210(para) -msgid "By default, MongoDB creates several 1GB journal files in the /var/lib/mongodb/journal directory. If you want to reduce the size of each journal file to 128MB and limit total journal space consumption to 512MB, assert the smallfiles key:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:62(para) ./doc/install-guide/section_ceilometer-controller.xml:216(para) -msgid "If you change the journaling configuration, stop the MongoDB service, remove the initial journal files, and start the service:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:68(para) ./doc/install-guide/section_ceilometer-controller.xml:222(para) -msgid "You can also disable journaling. For more information, see the MongoDB manual." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:73(para) ./doc/install-guide/section_ceilometer-controller.xml:227(para) -msgid "Restart the MongoDB service:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:77(para) -msgid "Start the MongoDB services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:89(para) -msgid "Create the ceilometer database:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:93(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:102(replaceable) ./doc/install-guide/section_ceilometer-controller.xml:260(replaceable) -msgid "CEILOMETER_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:116(para) -msgid "Replace CEILOMETER_DBPASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:128(para) -msgid "Create the ceilometer user:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:143(para) -msgid "Add the admin role to the ceilometer user." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:154(para) -msgid "Create the ceilometer service entity:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:171(para) -msgid "Create the Telemetry module API endpoint:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:194(para) -msgid "Before you install and configure Telemetry, you must install MongoDB." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:201(para) -msgid "Edit the /etc/mongodb.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:234(title) ./doc/install-guide/section_ceilometer-controller.xml:353(title) -msgid "To install and configure the Telemetry module components" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:248(para) ./doc/install-guide/section_ceilometer-controller.xml:371(para) -msgid "Generate a random value to use as the telemetry secret:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:261(para) -msgid "Replace CEILOMETER_DBPASS with the password you chose for the Telemetry module database. You must escape special characters such as ':', '/', '+', and '@' in the connection string in accordance with RFC2396." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:329(para) ./doc/install-guide/section_ceilometer-controller.xml:384(para) -msgid "Replace TELEMETRY_SECRET with the telemetry secret that you generated in a previous step." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:333(para) -msgid "In the [collector] section, configure the dispatcher:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:406(para) -msgid "Restart the Telemetry services:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-controller.xml:415(para) ./doc/install-guide/section_ceilometer-controller.xml:425(para) -msgid "Start the Telemetry services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/ch_nova.xml:8(title) -msgid "Add the Compute service" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:7(title) -msgid "Launch an instance with OpenStack Networking (neutron)" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:9(title) ./doc/install-guide/section_launch-instance-nova.xml:9(title) -msgid "To generate a key pair" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:10(para) -msgid "Most cloud images support public key authentication rather than conventional user name/password authentication. Before launching an instance, you must generate a public/private key pair." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:15(para) ./doc/install-guide/section_sahara-verify.xml:13(para) ./doc/install-guide/section_launch-instance-nova.xml:16(para) -msgid "Source the demo tenant credentials:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:19(para) -msgid "Generate and add a key pair:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:23(para) -msgid "Verify addition of the key pair:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:33(title) ./doc/install-guide/section_launch-instance-nova.xml:41(title) -msgid "To launch an instance" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:34(para) ./doc/install-guide/section_launch-instance-nova.xml:42(para) -msgid "To launch an instance, you must at least specify the flavor, image name, network, security group, key, and instance name." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:37(para) ./doc/install-guide/section_launch-instance-nova.xml:45(para) -msgid "A flavor specifies a virtual resource allocation profile which includes processor, memory, and storage." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:39(para) ./doc/install-guide/section_launch-instance-nova.xml:47(para) -msgid "List available flavors:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:50(para) ./doc/install-guide/section_launch-instance-nova.xml:58(para) -msgid "Your first instance uses the m1.tiny flavor." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:53(para) ./doc/install-guide/section_launch-instance-nova.xml:61(para) -msgid "You can also reference a flavor by ID." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:57(para) ./doc/install-guide/section_launch-instance-nova.xml:65(para) -msgid "List available images:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:64(para) ./doc/install-guide/section_launch-instance-nova.xml:72(para) -msgid "Your first instance uses the cirros-0.3.4-x86_64 image." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:68(para) ./doc/install-guide/section_launch-instance-nova.xml:76(para) -msgid "List available networks:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:76(para) ./doc/install-guide/section_launch-instance-nova.xml:89(para) -msgid "Your first instance uses the demo-net tenant network. However, you must reference this network using the ID instead of the name." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:81(para) ./doc/install-guide/section_launch-instance-nova.xml:94(para) -msgid "List available security groups:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:88(para) -msgid "Your first instance uses the default security group. By default, this security group implements a firewall that blocks remote access to instances. If you would like to permit remote access to your instance, launch it and then configure remote access." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:96(para) ./doc/install-guide/section_launch-instance-nova.xml:109(para) -msgid "Launch the instance:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:97(para) ./doc/install-guide/section_launch-instance-nova.xml:110(para) -msgid "Replace DEMO_NET_ID with the ID of the demo-net tenant network." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:99(replaceable) ./doc/install-guide/section_launch-instance-nova.xml:112(replaceable) -msgid "DEMO_NET_ID" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:100(replaceable) ./doc/install-guide/section_launch-instance-neutron.xml:150(replaceable) ./doc/install-guide/section_launch-instance-nova.xml:113(replaceable) ./doc/install-guide/section_launch-instance-nova.xml:163(replaceable) -msgid "demo-instance1" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:133(para) ./doc/install-guide/section_launch-instance-nova.xml:146(para) -msgid "Check the status of your instance:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:140(para) ./doc/install-guide/section_launch-instance-nova.xml:153(para) -msgid "The status changes from BUILD to ACTIVE when your instance finishes the build process." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:146(title) ./doc/install-guide/section_launch-instance-nova.xml:159(title) -msgid "To access your instance using a virtual console" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:148(para) ./doc/install-guide/section_launch-instance-nova.xml:161(para) -msgid "Obtain a Virtual Network Computing (VNC) session URL for your instance and access it from a web browser:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:157(para) ./doc/install-guide/section_launch-instance-nova.xml:170(para) -msgid "If your web browser runs on a host that cannot resolve the controller host name, you can replace controller with the IP address of the management interface on your controller node." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:162(para) ./doc/install-guide/section_launch-instance-nova.xml:175(para) -msgid "The CirrOS image includes conventional user name/password authentication and provides these credentials at the login prompt. After logging into CirrOS, we recommend that you verify network connectivity using ." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:166(para) -msgid "Verify the demo-net tenant network gateway:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:178(para) -msgid "Verify the ext-net external network:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:192(title) ./doc/install-guide/section_launch-instance-nova.xml:193(title) -msgid "To access your instance remotely" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:194(para) ./doc/install-guide/section_launch-instance-nova.xml:195(para) -msgid "Add rules to the default security group:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:197(para) ./doc/install-guide/section_launch-instance-nova.xml:198(para) -msgid "Permit ICMP (ping):" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:206(para) ./doc/install-guide/section_launch-instance-nova.xml:207(para) -msgid "Permit secure shell (SSH) access:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:217(para) -msgid "Create a floating IP address on the ext-net external network:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:235(para) -msgid "Associate the floating IP address with your instance:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:242(para) -msgid "Check the status of your floating IP address:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:251(para) ./doc/install-guide/section_launch-instance-nova.xml:218(para) -msgid "Verify network connectivity using from the controller node or any host on the external network:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:265(para) ./doc/install-guide/section_launch-instance-nova.xml:232(para) -msgid "Access your instance using SSH from the controller node or any host on the external network:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:274(para) ./doc/install-guide/section_launch-instance-nova.xml:241(para) -msgid "If your host does not contain the public/private key pair created in an earlier step, SSH prompts for the default password associated with the cirros user." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:281(title) ./doc/install-guide/section_launch-instance-nova.xml:248(title) -msgid "To attach a Block Storage volume to your instance" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:282(para) ./doc/install-guide/section_launch-instance-nova.xml:249(para) -msgid "If your environment includes the Block Storage service, you can attach a volume to the instance." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:289(para) ./doc/install-guide/section_launch-instance-neutron.xml:315(para) ./doc/install-guide/section_launch-instance-nova.xml:256(para) ./doc/install-guide/section_launch-instance-nova.xml:282(para) -msgid "List volumes:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:298(para) ./doc/install-guide/section_launch-instance-nova.xml:265(para) -msgid "Attach the demo-volume1 volume to the demo-instance1 instance:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:310(para) ./doc/install-guide/section_launch-instance-nova.xml:277(para) -msgid "You must reference volumes using the IDs instead of names." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:322(para) ./doc/install-guide/section_launch-instance-nova.xml:289(para) -msgid "The ID of the demo-volume1 volume should indicate in-use status by the ID of the demo-instance1 instance." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:327(para) ./doc/install-guide/section_launch-instance-nova.xml:294(para) -msgid "Access your instance using SSH from the controller node or any host on the external network and use the command to verify presence of the volume as the /dev/vdb block storage device:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:353(para) ./doc/install-guide/section_launch-instance-nova.xml:320(para) -msgid "You must create a partition table and file system to use the volume." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-neutron.xml:358(para) ./doc/install-guide/section_launch-instance-nova.xml:325(para) -msgid "If your instance does not launch or seem to work as you expect, see the OpenStack Operations Guide for more information or use one of the many other options to seek assistance. We want your environment to work!" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:8(title) -msgid "OpenStack packages" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:9(para) -msgid "Distributions release OpenStack packages as part of the distribution or using other methods because of differing release schedules. Perform these procedures on all nodes." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:13(para) -msgid "Disable or remove any automatic update services because they can impact your OpenStack environment." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:17(title) ./doc/install-guide/section_basics-packages.xml:47(title) ./doc/install-guide/section_basics-packages.xml:55(title) -msgid "To enable the OpenStack repository" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:19(para) -msgid "Install the Ubuntu Cloud archive keyring and repository:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:28(para) -msgid "On RHEL and CentOS, enable the EPEL repository:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:33(para) -msgid "Fedora does not require this repository." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:37(para) -msgid "On RHEL, enable additional repositories using the subscription manager:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:42(para) -msgid "CentOS and Fedora do not require these repositories." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:49(para) -msgid "Install the rdo-release-kilo package to enable the RDO repository:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:57(para) -msgid "Enable the Open Build Service repositories based on your openSUSE or SLES version:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:59(para) -msgid "On openSUSE 13.2:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:61(para) -msgid "The openSUSE distribution uses the concept of patterns to represent collections of packages. If you selected 'Minimal Server Selection (Text Mode)' during initial installation, you may be presented with a dependency conflict when you attempt to install the OpenStack packages. To avoid this, remove the minimal_base-conflicts package:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:66(para) -msgid "On SLES 12:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:69(para) -msgid "The packages are signed by GPG key 893A90DAD85F9316. You should verify the fingerprint of the imported GPG key before using it." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:81(title) -msgid "To use the Debian Wheezy backports archive for Juno" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:83(para) -msgid "The Juno release is available only in Debian Experimental (otherwise called rc-buggy), as Jessie is frozen soon, and will contain Icehouse. However, the Debian maintainers of OpenStack also maintain a non-official Debian repository for OpenStack containing Wheezy backports." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:90(para) -msgid "On all nodes, install the Debian Wheezy backport repository Juno:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:95(para) -msgid "Install the Debian Wheezy OpenStack repository for Juno:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:100(para) -msgid "Update the repository database and install the key:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:104(para) -msgid "Update the package database, upgrade your system, and reboot for all changes to take effect:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:110(para) -msgid "Numerous archive.gplhost.com mirrors are available around the world. All are available with both FTP and HTTP protocols (you should use the closest mirror). The list of mirrors is available at http://archive.gplhost.com/readme.mirrors." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:117(title) -msgid "Manually install python-argparse" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:118(para) -msgid "The Debian OpenStack packages are maintained on Debian Sid (also known as Debian Unstable) - the current development version. Backported packages run correctly on Debian Wheezy with one caveat:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:122(para) -msgid "All OpenStack packages are written in Python. All packages support version 2.7; porting to Python version 3 is ongoing. Note that Debian Wheezy uses Python 2.6 and 2.7, with Python 2.7 as the default interpreter; Sid has only Python 2.7. There is one packaging change between these two. In Python 2.6, you installed the python-argparse package separately. In Python 2.7, this package is installed by default. Unfortunately, in Python 2.7, this package does not include Provides: python-argparse directive." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:133(para) -msgid "Because the packages are maintained in Sid where the Provides: python-argparse directive causes an error, and the Debian OpenStack maintainer wants to maintain one version of the OpenStack packages, you must manually install the python-argparse on each OpenStack system that runs Debian Wheezy before you install the other OpenStack packages. Use the following command to install the package:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:142(para) -msgid "This caveat applies to most OpenStack packages in Wheezy." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:149(para) -msgid "Upgrade the packages on your system:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:154(para) -msgid "If the upgrade process includes a new kernel, reboot your system to activate it." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:159(para) -msgid "RHEL and CentOS enable SELinux by default. Install the openstack-selinux package to automatically manage security policies for OpenStack services:" -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:165(para) -msgid "Fedora does not require this package." -msgstr "" - -#: ./doc/install-guide/section_basics-packages.xml:168(para) -msgid "The installation process for this package can take a while." -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_basics-networking-nova.xml:55(None) ./doc/install-guide/ch_overview.xml:241(None) -msgid "@@image: '../common/figures/installguidearch-nova-networks.png'; md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:13(para) -msgid "The example architecture with legacy networking (nova-network) requires a controller node and at least one compute node. The controller node contains one network interface on the management network. The compute node contains one network interface on the management network and one on the external network." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:19(para) ./doc/install-guide/section_basics-networking-neutron.xml:22(para) -msgid "The example architecture assumes use of the following networks:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:22(para) ./doc/install-guide/section_basics-networking-neutron.xml:25(para) -msgid "Management on 10.0.0.0/24 with gateway 10.0.0.1" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:24(para) ./doc/install-guide/section_basics-networking-neutron.xml:27(para) -msgid "This network requires a gateway to provide Internet access to all nodes for administrative purposes such as package installation, security updates, DNS, and NTP." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:33(para) ./doc/install-guide/section_basics-networking-neutron.xml:44(para) -msgid "External on 203.0.113.0/24 with gateway 203.0.113.1" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:35(para) ./doc/install-guide/section_basics-networking-neutron.xml:46(para) -msgid "This network requires a gateway to provide Internet access to instances in your OpenStack environment." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:40(para) ./doc/install-guide/section_basics-networking-neutron.xml:51(para) -msgid "You can modify these ranges and gateways to work with your particular network infrastructure." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:43(para) -msgid "Network interface names vary by distribution. Traditionally, interfaces use \"eth\" followed by a sequential number. To cover all variations, this guide simply refers to the first interface as the interface with the lowest number and the second interface as the interface with the highest number." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:50(title) ./doc/install-guide/ch_overview.xml:236(title) -msgid "Minimal architecture example with legacy networking (nova-network)Network layout" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:59(para) ./doc/install-guide/section_basics-networking-neutron.xml:71(para) -msgid "Unless you intend to use the exact configuration provided in this example architecture, you must modify the networks in this procedure to match your environment. Also, each node must resolve the other nodes by name in addition to IP address. For example, the controller name must resolve to 10.0.0.11, the IP address of the management interface on the controller node." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:67(para) ./doc/install-guide/section_basics-networking-neutron.xml:79(para) -msgid "Reconfiguring network interfaces will interrupt network connectivity. We recommend using a local terminal session for these procedures." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:74(title) ./doc/install-guide/section_basics-networking-nova.xml:115(title) ./doc/install-guide/section_basics-networking-neutron.xml:86(title) ./doc/install-guide/section_basics-networking-neutron.xml:130(title) ./doc/install-guide/section_basics-networking-neutron.xml:216(title) -msgid "To configure networking:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:76(para) ./doc/install-guide/section_basics-networking-nova.xml:117(para) ./doc/install-guide/section_basics-networking-neutron.xml:88(para) ./doc/install-guide/section_basics-networking-neutron.xml:132(para) ./doc/install-guide/section_basics-networking-neutron.xml:218(para) -msgid "Configure the first interface as the management interface:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:77(para) ./doc/install-guide/section_basics-networking-neutron.xml:89(para) -msgid "IP address: 10.0.0.11" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:78(para) ./doc/install-guide/section_basics-networking-nova.xml:119(para) ./doc/install-guide/section_basics-networking-neutron.xml:90(para) ./doc/install-guide/section_basics-networking-neutron.xml:134(para) ./doc/install-guide/section_basics-networking-neutron.xml:141(para) ./doc/install-guide/section_basics-networking-neutron.xml:220(para) ./doc/install-guide/section_basics-networking-neutron.xml:231(para) ./doc/install-guide/section_cinder-storage-node.xml:32(para) ./doc/install-guide/section_swift-storage-node.xml:36(para) ./doc/install-guide/section_swift-storage-node.xml:51(para) -msgid "Network mask: 255.255.255.0 (or /24)" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:79(para) ./doc/install-guide/section_basics-networking-nova.xml:120(para) ./doc/install-guide/section_basics-networking-neutron.xml:91(para) ./doc/install-guide/section_basics-networking-neutron.xml:135(para) ./doc/install-guide/section_basics-networking-neutron.xml:221(para) ./doc/install-guide/section_cinder-storage-node.xml:33(para) ./doc/install-guide/section_swift-storage-node.xml:37(para) ./doc/install-guide/section_swift-storage-node.xml:52(para) -msgid "Default gateway: 10.0.0.1" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:82(para) ./doc/install-guide/section_basics-networking-nova.xml:164(para) ./doc/install-guide/section_basics-networking-neutron.xml:94(para) ./doc/install-guide/section_basics-networking-neutron.xml:181(para) ./doc/install-guide/section_basics-networking-neutron.xml:238(para) -msgid "Reboot the system to activate the changes." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:86(title) ./doc/install-guide/section_basics-networking-nova.xml:168(title) ./doc/install-guide/section_basics-networking-neutron.xml:98(title) ./doc/install-guide/section_basics-networking-neutron.xml:185(title) ./doc/install-guide/section_basics-networking-neutron.xml:242(title) -msgid "To configure name resolution:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:88(para) ./doc/install-guide/section_basics-networking-neutron.xml:100(para) -msgid "Set the hostname of the node to controller." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:92(para) ./doc/install-guide/section_basics-networking-nova.xml:173(para) ./doc/install-guide/section_basics-networking-neutron.xml:104(para) ./doc/install-guide/section_basics-networking-neutron.xml:190(para) ./doc/install-guide/section_basics-networking-neutron.xml:247(para) -msgid "Edit the /etc/hosts file to contain the following:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:100(para) ./doc/install-guide/section_basics-networking-nova.xml:181(para) ./doc/install-guide/section_basics-networking-neutron.xml:115(para) ./doc/install-guide/section_basics-networking-neutron.xml:201(para) -msgid "Some distributions add an extraneous entry in the /etc/hosts file that resolves the actual hostname to another loopback IP address such as 127.0.1.1. Note it's 127.0.1.1, do not remove the required 127.0.0.1 entry. You must comment out or remove this entry to prevent name resolution problems." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:113(title) ./doc/install-guide/section_basics-networking-neutron.xml:214(title) -msgid "Compute node" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:118(para) ./doc/install-guide/section_basics-networking-neutron.xml:219(para) -msgid "IP address: 10.0.0.31" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:122(para) ./doc/install-guide/section_basics-networking-neutron.xml:223(para) -msgid "Additional compute nodes should use 10.0.0.32, 10.0.0.33, and so on." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:127(para) -msgid "The external interface uses a special configuration without an IP address assigned to it. Configure the second interface as the external interface:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:130(para) -msgid "Replace INTERFACE_NAME with the actual interface name. For example, eth1 or ens224." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:135(para) ./doc/install-guide/section_basics-networking-neutron.xml:152(para) -msgid "Edit the /etc/network/interfaces file to contain the following:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:138(replaceable) ./doc/install-guide/section_basics-networking-nova.xml:139(replaceable) ./doc/install-guide/section_basics-networking-nova.xml:149(replaceable) ./doc/install-guide/section_basics-networking-neutron.xml:155(replaceable) ./doc/install-guide/section_basics-networking-neutron.xml:156(replaceable) ./doc/install-guide/section_basics-networking-neutron.xml:166(replaceable) ./doc/install-guide/section_neutron-network-node.xml:473(replaceable) ./doc/install-guide/section_neutron-network-node.xml:481(replaceable) ./doc/install-guide/section_nova-networking-compute-node.xml:45(replaceable) ./doc/install-guide/section_nova-networking-compute-node.xml:46(replaceable) -msgid "INTERFACE_NAME" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:144(para) ./doc/install-guide/section_basics-networking-neutron.xml:161(para) -msgid "Edit the /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME file to contain the following:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:147(para) ./doc/install-guide/section_basics-networking-neutron.xml:164(para) -msgid "Do not change the HWADDR and UUID keys." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:155(para) ./doc/install-guide/section_basics-networking-neutron.xml:172(para) -msgid "Edit the /etc/sysconfig/network/ifcfg-INTERFACE_NAME file to contain the following:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:170(para) ./doc/install-guide/section_basics-networking-neutron.xml:244(para) -msgid "Set the hostname of the node to compute1." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:194(title) ./doc/install-guide/section_basics-networking-neutron.xml:268(title) ./doc/install-guide/section_neutron-initial-networks.xml:235(title) -msgid "Verify connectivity" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:195(para) ./doc/install-guide/section_basics-networking-neutron.xml:269(para) -msgid "We recommend that you verify network connectivity to the Internet and among the nodes before proceeding further." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:199(para) ./doc/install-guide/section_basics-networking-neutron.xml:273(para) -msgid "From the controller node, a site on the Internet:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:213(para) ./doc/install-guide/section_basics-networking-neutron.xml:302(para) -msgid "From the controller node, the management interface on the compute node:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:216(replaceable) ./doc/install-guide/section_basics-networking-neutron.xml:305(replaceable) -msgid "compute1" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:228(para) ./doc/install-guide/section_basics-networking-neutron.xml:361(para) -msgid "From the compute node, a site on the Internet:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-nova.xml:242(para) ./doc/install-guide/section_basics-networking-neutron.xml:375(para) -msgid "From the compute node, the management interface on the controller node:" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_basics-networking-neutron.xml:67(None) ./doc/install-guide/ch_overview.xml:146(None) -msgid "@@image: '../common/figures/installguidearch-neutron-networks.png'; md5=e9bc3993ebae65063c83a7fcbe779ad2" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:13(para) -msgid "The example architecture with OpenStack Networking (neutron) requires one controller node, one network node, and at least one compute node. The controller node contains one network interface on the management network. The network node contains one network interface on the management network, one on the instance tunnels network, and one on the external network. The compute node contains one network interface on the management network and one on the instance tunnels network." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:36(para) -msgid "Instance tunnels on 10.0.1.0/24 without a gateway" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:38(para) -msgid "This network does not require a gateway because communication only occurs among network and compute nodes in your OpenStack environment." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:54(para) -msgid "Network interface names vary by distribution. Traditionally, interfaces use \"eth\" followed by a sequential number. To cover all variations, this guide simply refers to the first interface as the interface with the lowest number, the second interface as the interface with the middle number, and the third interface as the interface with the highest number." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:62(title) ./doc/install-guide/ch_overview.xml:141(title) -msgid "Minimal architecture example with OpenStack Networking (neutron)Network layout" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:128(title) -msgid "Network node" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:133(para) -msgid "IP address: 10.0.0.21" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:138(para) ./doc/install-guide/section_basics-networking-neutron.xml:228(para) -msgid "Configure the second interface as the instance tunnels interface:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:140(para) -msgid "IP address: 10.0.1.21" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:144(para) -msgid "The external interface uses a special configuration without an IP address assigned to it. Configure the third interface as the external interface:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:147(para) ./doc/install-guide/section_neutron-network-node.xml:470(para) -msgid "Replace INTERFACE_NAME with the actual interface name. For example, eth2 or ens256." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:187(para) -msgid "Set the hostname of the node to network." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:230(para) -msgid "IP address: 10.0.1.31" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:233(para) -msgid "Additional compute nodes should use 10.0.1.32, 10.0.1.33, and so on." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:258(para) -msgid "Some distributions add an extraneous entry in the /etc/hosts file that resolves the actual hostname to another loopback IP address such as 127.0.1.1. You must comment out or remove this entry to prevent name resolution problems." -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:287(para) -msgid "From the controller node, the management interface on the network node:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:290(replaceable) -msgid "network" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:317(para) -msgid "From the network node, a site on the Internet:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:331(para) -msgid "From the network node, the management interface on the controller node:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:346(para) -msgid "From the network node, the instance tunnels interface on the compute node:" -msgstr "" - -#: ./doc/install-guide/section_basics-networking-neutron.xml:390(para) -msgid "From the compute node, the instance tunnels interface on the network node:" -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:8(para) -msgid "Verify operation of the Image service using CirrOS, a small Linux image that helps you test your OpenStack deployment." -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:11(para) -msgid "For more information about how to download and build images, see OpenStack Virtual Machine Image Guide. For information about how to manage images, see the OpenStack User Guide." -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:21(para) -msgid "In each client environment script, configure the Image service client to use API version 2.0:" -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:31(para) -msgid "Create a temporary local directory:" -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:35(para) -msgid "Download the source image into it:" -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:39(para) -msgid "Upload the image to the Image service using the QCOW2 disk format, bare container format, and public visibility so all projects can access it:" -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:66(para) -msgid "For information about the parameters, see Image service command-line client in the OpenStack Command-Line Interface Reference." -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:72(para) -msgid "For information about disk and container formats for images, see Disk and container formats for images in the OpenStack Virtual Machine Image Guide." -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:83(para) -msgid "Confirm upload of the image and validate attributes:" -msgstr "" - -#: ./doc/install-guide/section_glance-verify.xml:93(para) -msgid "Remove the temporary local directory and source image:" -msgstr "" - -#: ./doc/install-guide/section_sahara-verify.xml:7(title) -msgid "Verify the Data processing service installation" -msgstr "" - -#: ./doc/install-guide/section_sahara-verify.xml:8(para) -msgid "To verify the Data processing service (sahara) is installed and configured correctly, try requesting the clusters list using the sahara client." -msgstr "" - -#: ./doc/install-guide/section_sahara-verify.xml:17(para) -msgid "Retrieve the sahara clusters list:" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:7(title) -msgid "Install and configure a compute node" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:8(para) -msgid "This section describes how to install and configure the Compute service on a compute node. The service supports several hypervisors to deploy instances or VMs. For simplicity, this configuration uses the QEMU hypervisor with the KVM extension on compute nodes that support hardware acceleration for virtual machines. On legacy hardware, this configuration uses the generic QEMU hypervisor. You can follow these instructions with minor modifications to horizontally scale your environment with additional compute nodes." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:22(para) -msgid "This section assumes that you are following the instructions in this guide step-by-step to configure the first compute node. If you want to configure additional compute nodes, prepare them in a similar fashion to the first compute node in the example architectures section using the same networking service as your existing environment. For either networking service, follow the NTP configuration and OpenStack packages instructions. For OpenStack Networking (neutron), also follow the OpenStack Networking compute node instructions. For legacy networking (nova-network), also follow the legacy networking compute node instructions. Each additional compute node requires unique IP addresses." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:40(title) ./doc/install-guide/section_nova-compute-install.xml:185(title) -msgid "To install and configure the Compute hypervisor components" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:93(para) ./doc/install-guide/section_nova-controller-install.xml:183(para) -msgid "Replace NOVA_PASS with the password you chose for the nova user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:102(para) ./doc/install-guide/section_cinder-storage-node.xml:204(para) -msgid "In the [DEFAULT] section, configure the my_ip option:" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:106(replaceable) ./doc/install-guide/section_nova-compute-install.xml:121(replaceable) ./doc/install-guide/section_cinder-storage-node.xml:208(replaceable) ./doc/install-guide/section_swift-storage-node.xml:117(replaceable) ./doc/install-guide/section_swift-storage-node.xml:207(replaceable) ./doc/install-guide/section_swift-storage-node.xml:249(replaceable) ./doc/install-guide/section_swift-storage-node.xml:291(replaceable) -msgid "MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:107(para) ./doc/install-guide/section_nova-compute-install.xml:128(para) -msgid "Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network interface on your compute node, typically 10.0.0.31 for the first node in the example architecture." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:115(para) -msgid "In the [DEFAULT] section, enable and configure remote console access:" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:123(para) -msgid "The server component listens on all IP addresses and the proxy component only listens on the management interface IP address of the compute node. The base URL indicates the location where you can use a web browser to access remote consoles of instances on this compute node." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:135(para) -msgid "If the web browser to access remote consoles resides on a host that cannot resolve the controller hostname, you must replace controller with the management interface IP address of the controller node." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:143(para) ./doc/install-guide/section_nova-controller-install.xml:209(para) -msgid "In the [glance] section, configure the location of the Image service:" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:150(para) ./doc/install-guide/section_cinder-storage-node.xml:253(para) ./doc/install-guide/section_cinder-controller-node.xml:228(para) ./doc/install-guide/section_nova-controller-install.xml:216(para) -msgid "In the [oslo_concurrency] section, configure the lock path:" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:171(para) -msgid "Ensure the kernel module nbd is loaded." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:176(para) -msgid "Ensure the module will be loaded on every boot by adding nbd in the /etc/modules-load.d/nbd.conf file." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:191(para) -msgid "Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message queue credentials.." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:204(para) -msgid "Determine whether your compute node supports hardware acceleration for virtual machines:" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:207(para) -msgid "If this command returns a value of one or greater, your compute node supports hardware acceleration which typically requires no additional configuration." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:211(para) -msgid "If this command returns a value of zero, your compute node does not support hardware acceleration and you must configure libvirt to use QEMU instead of KVM." -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:216(para) -msgid "Edit the [libvirt] section in the /etc/nova/nova-compute.conf/etc/nova/nova.conf file as follows:" -msgstr "" - -#: ./doc/install-guide/section_nova-compute-install.xml:232(para) -msgid "Start the Compute service including its dependencies and configure them to start automatically when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-nova.xml:7(title) -msgid "Launch an instance with legacy networking (nova-network)" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-nova.xml:10(para) -msgid "Most cloud images support public key authentication rather than conventional user name/password authentication. Before launching an instance, you must generate a public/private key pair using and add the public key to your OpenStack environment." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-nova.xml:20(para) -msgid "Generate a key pair:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-nova.xml:24(para) -msgid "Add the public key to your OpenStack environment:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-nova.xml:31(para) -msgid "Verify addition of the public key:" -msgstr "" - -#: ./doc/install-guide/section_launch-instance-nova.xml:78(para) -msgid "You must source the admin tenant credentials for this step and then source the demo tenant credentials for the remaining steps." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-nova.xml:101(para) -msgid "Your first instance uses the default security group. By default, this security group implements a firewall that blocks remote access to instances. If you would like to permit remote access to your instance, launch it and then configure remote access." -msgstr "" - -#: ./doc/install-guide/section_launch-instance-nova.xml:179(para) -msgid "Verify the demo-net network:" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_neutron-initial-networks.xml:27(None) -msgid "@@image: '../common/figures/installguide-neutron-initialnetworks.png'; md5=f77c580f44d340221742a6a1ac443b33" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:7(title) -msgid "Create initial networks" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:8(para) -msgid "Before launching your first instance, you must create the necessary virtual network infrastructure to which the instances connect, including the external network and tenant network. See . After creating this infrastructure, we recommend that you verify connectivity and resolve any issues before proceeding further. provides a basic architectural overview of the components that Networking implements for the initial networks and shows how network traffic flows from the instance to the external network or Internet." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:23(title) -msgid "Initial networks" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:32(title) -msgid "External network" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:33(para) -msgid "The external network typically provides Internet access for your instances. By default, this network only allows Internet access from instances using Network Address Translation (NAT). You can enable Internet access to individual instances using a floating IP address and suitable security group rules. The admin tenant owns this network because it provides external network access for multiple tenants." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:46(title) -msgid "To create the external network" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:74(para) -msgid "Like a physical network, a virtual network requires a subnet assigned to it. The external network shares the same subnet and gateway associated with the physical network connected to the external interface on the network node. You should specify an exclusive slice of this subnet for router and floating IP addresses to prevent interference with other devices on the external network." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:82(title) -msgid "To create a subnet on the external network" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:84(para) ./doc/install-guide/section_neutron-initial-networks.xml:166(para) -msgid "Create the subnet:" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:85(replaceable) -msgid "EXTERNAL_NETWORK_CIDR" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:86(replaceable) -msgid "FLOATING_IP_START" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:86(replaceable) -msgid "FLOATING_IP_END" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:87(replaceable) -msgid "EXTERNAL_NETWORK_GATEWAY" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:88(para) -msgid "Replace FLOATING_IP_START and FLOATING_IP_END with the first and last IP addresses of the range that you want to allocate for floating IP addresses. Replace EXTERNAL_NETWORK_CIDR with the subnet associated with the physical network. Replace EXTERNAL_NETWORK_GATEWAY with the gateway associated with the physical network, typically the \".1\" IP address. You should disable DHCP on this subnet because instances do not connect directly to the external network and floating IP addresses require manual assignment." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:98(para) -msgid "For example, using 203.0.113.0/24 with floating IP address range 203.0.113.101 to 203.0.113.200:" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:126(title) -msgid "Tenant network" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:127(para) -msgid "The tenant network provides internal network access for instances. The architecture isolates this type of network from other tenants. The demo tenant owns this network because it only provides network access for instances within it." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:135(title) -msgid "To create the tenant network" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:137(para) -msgid "Source the demo credentials to gain access to user-only CLI commands:" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:159(para) -msgid "Like the external network, your tenant network also requires a subnet attached to it. You can specify any valid subnet because the architecture isolates tenant networks. By default, this subnet uses DHCP so your instances can obtain IP addresses." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:164(title) -msgid "To create a subnet on the tenant network" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:167(replaceable) -msgid "TENANT_NETWORK_CIDR" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:168(replaceable) -msgid "TENANT_NETWORK_GATEWAY" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:169(para) -msgid "Replace TENANT_NETWORK_CIDR with the subnet you want to associate with the tenant network and TENANT_NETWORK_GATEWAY with the gateway you want to associate with it, typically the \".1\" IP address." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:173(para) -msgid "Example using 192.168.1.0/24:" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:196(para) -msgid "A virtual router passes network traffic between two or more virtual networks. Each router requires one or more interfaces and/or gateways that provide access to specific networks. In this case, you create a router and attach your tenant and external networks to it." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:202(title) -msgid "To create a router on the tenant network and attach the external and tenant networks to it" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:205(para) -msgid "Create the router:" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:221(para) -msgid "Attach the router to the demo tenant subnet:" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:227(para) -msgid "Attach the router to the external network by setting it as the gateway:" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:236(para) -msgid "We recommend that you verify network connectivity and resolve any issues before proceeding further. Following the external network subnet example using 203.0.113.0/24, the tenant router gateway should occupy the lowest IP address in the floating IP address range, 203.0.113.101. If you configured your external physical network and virtual networks correctly, you should be able to this IP address from any host on your external physical network." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:245(para) -msgid "If you are building your OpenStack nodes as virtual machines, you must configure the hypervisor to permit promiscuous mode on the external network." -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:250(title) -msgid "To verify network connectivity" -msgstr "" - -#: ./doc/install-guide/section_neutron-initial-networks.xml:252(para) -msgid "From a host on the external network, ping the tenant router gateway:" -msgstr "" - -#: ./doc/install-guide/ch_keystone.xml:7(title) -msgid "Add the Identity service" -msgstr "" - -#: ./doc/install-guide/section_debconf-preseeding.xml:7(title) -msgid "Pre-seed debconf prompts" -msgstr "" - -#: ./doc/install-guide/section_debconf-preseeding.xml:8(para) -msgid "You can pre-seed all debconf prompts. To pre-seed means to store responses in the debconf database so that debconf does not prompt the user for responses. Pre-seeding enables a hands-free installation for users. The package maintainer creates scripts that automatically configure the services." -msgstr "" - -#: ./doc/install-guide/section_debconf-preseeding.xml:15(para) -msgid "The following example shows how to pre-seed an automated MySQL Server installation:" -msgstr "" - -#: ./doc/install-guide/section_debconf-preseeding.xml:17(replaceable) ./doc/install-guide/section_debconf-preseeding.xml:18(replaceable) ./doc/install-guide/section_debconf-preseeding.xml:20(replaceable) -msgid "MYSQL_PASSWORD" -msgstr "" - -#: ./doc/install-guide/section_debconf-preseeding.xml:24(para) -msgid "The seen true option tells debconf that a specified screen was already seen by the user so do not show it again. This option is useful for upgrades." -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:8(para) -msgid "Verify operation of the Identity service before installing other services." -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:12(para) -msgid "For security reasons, disable the temporary authentication token mechanism:" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:14(para) -msgid "Edit the /etc/keystone/keystone-paste.ini/usr/share/keystone/keystone-dist-paste.ini file and remove admin_token_auth from the [pipeline:public_api], [pipeline:admin_api], and [pipeline:api_v3] sections." -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:23(para) -msgid "Unset the temporary OS_TOKEN and OS_URL environment variables:" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:28(para) -msgid "As the admin user, request an authentication token from the Identity version 2.0 API:" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:43(para) ./doc/install-guide/section_keystone-verify.xml:69(para) ./doc/install-guide/section_keystone-verify.xml:95(para) ./doc/install-guide/section_keystone-verify.xml:118(para) ./doc/install-guide/section_keystone-verify.xml:141(para) -msgid "This command uses the password for the admin user." -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:48(para) -msgid "The Identity version 3 API adds support for domains that contain projects and users. Projects and users can use the same names in different domains. Therefore, in order to use the version 3 API, requests must also explicitly contain at least the default domain or use IDs. For simplicity, this guide explicitly uses the default domain so examples can use names instead of IDs." -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:74(para) -msgid "As the admin user, list projects to verify that the admin user can execute admin-only CLI commands and that the Identity service contains the projects that you created in :" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:79(para) -msgid "As the admin user, list projects to verify that the admin user can execute CLI commands and that the Identity service contains the projects created by the configuration tool:" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:100(para) -msgid "As the admin user, list users to verify that the Identity service contains the users that you created in :" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:104(para) -msgid "As the admin user, list users to verify that the Identity service contains the users created by the configuration tool:" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:123(para) -msgid "As the admin user, list roles to verify that the Identity service contains the role that you created in :" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:127(para) -msgid "As the admin user, list roles to verify that the Identity service contains the role created by the configuration tool:" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:146(para) -msgid "As the demo user, request an authentication token from the Identity version 3 API:" -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:162(para) -msgid "This command uses the password for the demo user and API port 5000 which only allows regular (non-admin) access to the Identity service API." -msgstr "" - -#: ./doc/install-guide/section_keystone-verify.xml:168(para) -msgid "As the demo user, attempt to list users to verify that it cannot execute admin-only CLI commands:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:7(title) -msgid "Create projects, users, and roles" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:8(para) -msgid "The Identity service provides authentication services for each OpenStack service. The authentication service uses a combination of domains, projects (tenants), users, and roles." -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:15(para) -msgid "For simplicity, this guide implicitly uses the default domain." -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:19(title) -msgid "To create tenants, users, and roles" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:25(para) -msgid "Create an administrative project, user, and role for administrative operations in your environment:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:29(para) -msgid "Create the admin project:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:45(para) -msgid "Create the admin user:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:60(para) -msgid "Create the admin role:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:70(para) -msgid "Add the admin role to the admin project and user:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:82(para) -msgid "Any roles that you create must map to roles specified in the policy.json file in the configuration file directory of each OpenStack service. The default policy for most services grants administrative access to the admin role. For more information, see the Operations Guide - Managing Projects and Users." -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:92(para) -msgid "This guide uses a service project that contains a unique user for each service that you add to your environment." -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:96(para) -msgid "Create the service project:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:110(para) -msgid "Regular (non-admin) tasks should use an unprivileged project and user. As an example, this guide creates the demo project and user." -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:115(para) -msgid "Create the demo project:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:126(para) -msgid "Do not repeat this step when creating additional users for this project." -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:131(para) -msgid "Create the demo user:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:146(para) -msgid "Create the user role:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:156(para) -msgid "Add the user role to the demo project and user:" -msgstr "" - -#: ./doc/install-guide/section_keystone-users.xml:170(para) -msgid "You can repeat this procedure to create additional projects and users." -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:37(None) -msgid "@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; md5=01af4867c16e458306b8abd78a1fccc9" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:46(None) -msgid "@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db.png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:96(None) -msgid "@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:105(None) -msgid "@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; md5=a77beb7e13b487cf79716c2140f258c2" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:114(None) -msgid "@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method.png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:123(None) -msgid "@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password.png'; md5=873ec338742e37305583e9e692bcfdc6" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:132(None) -msgid "@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png'; md5=3651970770d05892f21d1b5741afbee6" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:141(None) -msgid "@@image: 'figures/debconf-screenshots/dbconfig-common_6_mysql_app_password_confirm.png'; md5=060cc90aaf6f6fd5cea718064829c1b1" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:7(title) -msgid "Configure the database with dbconfig-common" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:8(para) -msgid "Many of the OpenStack services need to be configured to access a database. These are configured through a DSN (Database Source Name) directive as follows:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:13(para) -msgid "This connection directive will be handled by the dbconfig-common package, which provides a standard Debian interface. It enables you to configure Debian database parameters. It includes localized prompts for many languages and it supports the following database backends: SQLite, MySQL, and PostgreSQL." -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:19(para) -msgid "By default, the dbconfig-common package configures the OpenStack services to use SQLite. So if you use debconf in non-interactive mode and without pre-seeding, the OpenStack services that you install will use SQLite." -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:24(para) -msgid "By default, dbconfig-common does not provide access to database servers over a network. If you want the dbconfig-common package to prompt for remote database servers that are accessed over a network and not through a UNIX socket file, reconfigure it, as follows:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:30(para) -msgid "These screens appear when you re-configure the dbconfig-common package:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:50(para) -msgid "Unlike other debconf prompts, you cannot pre-seed the responses for the dbconfig-common prompts by using . Instead, you must create a file in /etc/dbconfig-common. For example, you might create a keystone configuration file for dbconfig-common that is located in /etc/dbconfig-common/keystone.conf, as follows:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:73(para) -msgid "After you create this file, run this command:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:75(para) -msgid "The Identity Service is installed with MySQL as the database back end, keystonedb as database name, and the localhost socket file. The corresponding DNS will then be:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:80(para) -msgid "The dbconfig-common package will configure MySQL for these access rights, and create the database for you. Since OpenStack 2014.1.1, all OpenStack packages in Debian are performing the following MySQL query after database creation (if you decide to use MySQL as a back-end):" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:86(para) -msgid "So, if using Debian, you wont need to care about database creation, access rights and character sets. All that is handled for you by the packages." -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:89(para) -msgid "As an example, here are screenshots from the cinder-common package:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:145(para) -msgid "By default in Debian, you can access the MySQL server from either localhost through the socket file or 127.0.0.1. To access it over the network, you must edit the /etc/mysql/my.cnf file, and the mysql.user table. To do so, Debian provides a helper script in the openstack-deploy package. To use it, install the package and run:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:152(para) -msgid "Alternatively, if you do not want to install this package, run this script to enable remote root access:" -msgstr "" - -#: ./doc/install-guide/section_debconf-dbconfig-common.xml:175(para) -msgid "You must enable remote access before you install OpenStack services on multiple nodes." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-cinder.xml:8(title) -msgid "Configure the Block Storage service" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-cinder.xml:9(para) -msgid "To retrieve volume-oriented events and samples, you must configure the Block Storage service to send notifications to the message bus. Perform these steps on the controller and storage nodes." -msgstr "" - -#: ./doc/install-guide/section_ceilometer-cinder.xml:15(para) ./doc/install-guide/section_cinder-storage-node.xml:148(para) ./doc/install-guide/section_cinder-controller-node.xml:164(para) -msgid "Edit the /etc/cinder/cinder.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-cinder.xml:18(para) -msgid "In the [DEFAULT] section, configure notifications:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-cinder.xml:26(para) -msgid "Restart the Block Storage services on the controller node:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-cinder.xml:32(para) -msgid "Restart the Block Storage services on the storage nodes:" -msgstr "" - -#: ./doc/install-guide/section_ceilometer-cinder.xml:37(para) -msgid "Use the command to retrieve meters on demand. For more information, see Block Storage audit script setup to get notifications." -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/ch_overview.xml:43(None) -msgid "@@image: '../common/figures/openstack_kilo_conceptual_arch.png'; md5=75711ac48a6bdac83020ae2677064023" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/ch_overview.xml:136(None) -msgid "@@image: '../common/figures/installguidearch-neutron-hw.png'; md5=256987507b566287c69081c1b1083941" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/ch_overview.xml:156(None) -msgid "@@image: '../common/figures/installguidearch-neutron-services.png'; md5=bba84d5b30fc9ed13391738d072c376a" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/ch_overview.xml:231(None) -msgid "@@image: '../common/figures/installguidearch-nova-hw.png'; md5=2868ba248354a3ff4a4bb5a39e1a6261" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/ch_overview.xml:251(None) -msgid "@@image: '../common/figures/installguidearch-nova-services.png'; md5=5c151372a5eeb4f07c537c37cd956e22" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:12(title) -msgid "Architecture" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:14(title) -msgid "Overview" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:15(para) -msgid "The OpenStack project is an open source cloud computing platform that supports all types of cloud environments. The project aims for simple implementation, massive scalability, and a rich set of features. Cloud computing experts from around the world contribute to the project." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:20(para) -msgid "OpenStack provides an Infrastructure-as-a-Service (IaaS) solution through a variety of complemental services. Each service offers an application programming interface (API) that facilitates this integration. The following table provides a list of OpenStack services:" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:27(para) -msgid "This guide describes how to deploy these services in a functional test environment and, by example, teaches you how to build a production environment. Realistically, you would use automation tools such as Ansible, Chef, and Puppet to deploy and manage a production environment." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:34(title) ./doc/install-guide/ch_overview.xml:39(title) -msgid "Conceptual architecture" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:35(para) -msgid "Launching a virtual machine or instance involves many interactions among several services. The following diagram provides the conceptual architecture of a typical OpenStack environment." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:49(title) -msgid "Example architectures" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:50(para) -msgid "OpenStack is highly configurable to meet different needs with various compute, networking, and storage options. This guide enables you to choose your own OpenStack adventure using a combination of core and optional services. This guide uses the following example architectures:" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:57(para) -msgid "Three-node architecture with OpenStack Networking (neutron) and optional nodes for Block Storage and Object Storage services." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:62(para) -msgid "The controller node runs the Identity service, Image Service, management portions of Compute and Networking, Networking plug-in, and the dashboard. It also includes supporting services such as a SQL database, message queue, and Network Time Protocol (NTP)." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:70(para) ./doc/install-guide/ch_overview.xml:175(para) -msgid "Optionally, the controller node runs portions of Block Storage, Object Storage, Orchestration, Telemetry, Database, and Data processing services. These components provide additional features for your environment." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:77(para) -msgid "The network node runs the Networking plug-in and several agents that provision tenant networks and provide switching, routing, NAT, and DHCP services. This node also handles external (Internet) connectivity for tenant virtual machine instances." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:86(para) -msgid "The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. The compute node also runs the Networking plug-in and an agent that connect tenant networks to instances and provide firewalling (security groups) services. You can run more than one compute node." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:98(para) ./doc/install-guide/ch_overview.xml:193(para) -msgid "Optionally, the compute node runs a Telemetry agent to collect meters. Also, it can contain a third network interface on a separate storage network to improve performance of storage services." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:104(para) ./doc/install-guide/ch_overview.xml:199(para) -msgid "The optional Block Storage node contains the disks that the Block Storage service provisions for tenant virtual machine instances. You can run more than one of these nodes." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:107(para) ./doc/install-guide/ch_overview.xml:202(para) -msgid "Optionally, the Block Storage node runs a Telemetry agent to collect meters. Also, it can contain a second network interface on a separate storage network to improve performance of storage services." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:113(para) ./doc/install-guide/ch_overview.xml:208(para) -msgid "The optional Object Storage nodes contain the disks that the Object Storage service uses for storing accounts, containers, and objects. You can run more than two of these nodes. However, the minimal architecture example requires two nodes." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:118(para) ./doc/install-guide/ch_overview.xml:213(para) -msgid "Optionally, these nodes can contain a second network interface on a separate storage network to improve performance of storage services." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:124(para) -msgid "When you implement this architecture, skip in . Optional services might require additional nodes or additional resources on existing nodes." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:131(title) -msgid "Minimal architecture example with OpenStack Networking (neutron)Hardware requirements" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:151(title) -msgid "Minimal architecture example with OpenStack Networking (neutron)Service layout" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:163(para) -msgid "Two-node architecture with legacy networking (nova-network) and optional nodes for Block Storage and Object Storage services." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:168(para) -msgid "The controller node runs the Identity service, Image service, management portion of Compute, and the dashboard. It also includes supporting services such as a SQL database, message queue, and Network Time Protocol (NTP)." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:182(para) -msgid "The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. Compute also provisions tenant networks and provides firewalling (security groups) services. You can run more than one compute node." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:219(para) -msgid "When you implement this architecture, skip in . To use optional services, you might need to build additional nodes, as described in subsequent chapters." -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:226(title) -msgid "Minimal architecture example with legacy networking (nova-network)Hardware requirements" -msgstr "" - -#: ./doc/install-guide/ch_overview.xml:246(title) -msgid "Minimal architecture example with legacy networking (nova-network)Service layout" -msgstr "" - -#: ./doc/install-guide/ch_launch-instance.xml:7(title) -msgid "Launch an instance" -msgstr "" - -#: ./doc/install-guide/ch_launch-instance.xml:8(para) -msgid "An instance is a VM that OpenStack provisions on a compute node. This guide shows you how to launch a minimal instance using the CirrOS image that you added to your environment in the chapter. In these steps, you use the command-line interface (CLI) on your controller node or any system with the appropriate OpenStack client libraries. To use the dashboard, see the OpenStack User Guide." -msgstr "" - -#: ./doc/install-guide/ch_launch-instance.xml:17(para) -msgid "Launch an instance using OpenStack Networking (neutron) or legacy networking (nova-network) . For more information, see the OpenStack User Guide." -msgstr "" - -#: ./doc/install-guide/ch_launch-instance.xml:27(para) -msgid "These steps reference example components created in previous chapters. You must adjust certain values such as IP addresses to match your environment." -msgstr "" - -#: ./doc/install-guide/ch_basic_environment.xml:8(title) -msgid "Basic environment" -msgstr "" - -#: ./doc/install-guide/ch_basic_environment.xml:11(para) -msgid "The draft version of this guide focuses on the future Liberty release and will not work for the current Kilo release. If you want to install Kilo, you must use the Kilo version of this guide instead." -msgstr "" - -#: ./doc/install-guide/ch_basic_environment.xml:20(para) -msgid "This chapter explains how to configure each node in the example architectures including the two-node architecture with legacy networking and three-node architecture with OpenStack Networking (neutron)." -msgstr "" - -#: ./doc/install-guide/ch_basic_environment.xml:27(para) -msgid "Although most environments include Identity, Image service, Compute, at least one networking service, and the dashboard, the Object Storage service can operate independently. If your use case only involves Object Storage, you can skip to after configuring the appropriate nodes for it. However, the dashboard requires at least the Image service and Compute." -msgstr "" - -#: ./doc/install-guide/ch_basic_environment.xml:36(para) -msgid "You must use an account with administrative privileges to configure each node. Either run the commands as the root user or configure the sudo utility." -msgstr "" - -#: ./doc/install-guide/ch_basic_environment.xml:41(para) -msgid "The call on openSUSE outputs a warning message when the service uses SysV Init scripts instead of native systemd files. This warning can be ignored." -msgstr "" - -#: ./doc/install-guide/ch_trove.xml:7(title) -msgid "Add the Database service" -msgstr "" - -#: ./doc/install-guide/ch_trove.xml:8(para) -msgid "Use the Database service to create cloud database resources. The integrated project name is trove." -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:8(title) -msgid "OpenStack Installation Guide for Red Hat Enterprise Linux 7, CentOS 7, and Fedora 21Ubuntu 14.04Debian 7openSUSE 13.2 and SUSE Linux Enterprise Server 12" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:19(phrase) -msgid "Red Hat Enterprise Linux, CentOS, and Fedora" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:20(phrase) -msgid "Ubuntu 14.04" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:21(phrase) -msgid "openSUSE and SUSE Linux Enterprise Server" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:22(phrase) -msgid "Debian 7" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:18(titleabbrev) -msgid "OpenStack Installation Guide for " -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:31(orgname) -msgid "OpenStack" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:35(year) -msgid "2012" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:36(year) -msgid "2013" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:37(year) -msgid "2014" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:38(year) -msgid "2015" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:39(holder) -msgid "OpenStack Foundation" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:41(releaseinfo) -msgid "kilo" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:42(productname) -msgid "OpenStack Installation Guide" -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:46(remark) -msgid "Copyright details are filled in by the template." -msgstr "" - -#: ./doc/install-guide/bk-openstack-install-guide.xml:51(para) -msgid "The OpenStack® system consists of several key projects that you install separately. These projects work together depending on your cloud needs. These projects include Compute, Identity Service, Networking, Image Service, Block Storage, Object Storage, Telemetry, Orchestration, and Database. You can install any of these projects separately and configure them stand-alone or as connected entities. This guide walks through an installation by using packages available through Debian 7 (code name: Wheezy).This guide walks through an installation by using packages available through Ubuntu 14.04.This guide shows you how to install OpenStack by using packages available through Fedora 21 as well as on Red Hat Enterprise Linux 7 and its derivatives through the EPEL repository.This guide shows you how to install OpenStack by using packages on openSUSE 13.2 and SUSE Linux Enterprise Server 12 through the Open Build Service Cloud repository. Explanations of configuration options and sample configuration files are included." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:7(title) -msgid "Install and configure network node" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:8(para) -msgid "The network node primarily handles internal and external routing and DHCP services for virtual networks." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:94(para) -msgid "In the [database] section, comment out any connection options because network nodes do not directly access the database." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:164(para) -msgid "The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the virtual networking framework for instances." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:188(para) -msgid "In the [ml2_type_flat] section, configure the external flat provider network:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:214(para) -msgid "In the [ovs] section, enable tunnels, configure the local tunnel endpoint, and map the external flat provider network to the br-ex external network bridge:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:222(para) -msgid "Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS with the IP address of the instance tunnels network interface on your network node." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:238(title) -msgid "To configure the Layer-3 (L3) agent" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:239(para) -msgid "The Layer-3 (L3) agent provides routing services for virtual networks." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:242(para) -msgid "Edit the /etc/neutron/l3_agent.ini file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:246(para) -msgid "In the [DEFAULT] section, configure the interface driver, external network bridge, and enable deletion of defunct router namespaces:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:255(para) -msgid "The external_network_bridge option intentionally lacks a value to enable multiple external networks on a single agent." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:272(title) -msgid "To configure the DHCP agent" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:273(para) -msgid "The DHCP agent provides DHCP services for virtual networks." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:276(para) -msgid "Edit the /etc/neutron/dhcp_agent.ini file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:281(para) -msgid "In the [DEFAULT] section, configure the interface and DHCP drivers and enable deletion of defunct DHCP namespaces:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:301(para) -msgid "(Optional)" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:302(para) -msgid "Tunneling protocols such as GRE include additional packet headers that increase overhead and decrease space available for the payload or user data. Without knowledge of the virtual network infrastructure, instances attempt to send packets using the default Ethernet maximum transmission unit (MTU) of 1500 bytes. Internet protocol (IP) networks contain the path MTU discovery (PMTUD) mechanism to detect end-to-end MTU and adjust packet size accordingly. However, some operating systems and networks block or otherwise lack support for PMTUD causing performance degradation or connectivity failure." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:313(para) -msgid "Ideally, you can prevent these problems by enabling jumbo frames on the physical network that contains your tenant virtual networks. Jumbo frames support MTUs up to approximately 9000 bytes which negates the impact of GRE overhead on virtual networks. However, many network devices lack support for jumbo frames and OpenStack administrators often lack control over network infrastructure. Given the latter complications, you can also prevent MTU problems by reducing the instance MTU to account for GRE overhead. Determining the proper MTU value often takes experimentation, but 1454 bytes works in most environments. You can configure the DHCP server that assigns IP addresses to your instances to also adjust the MTU." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:327(para) -msgid "Some cloud images ignore the DHCP MTU option in which case you should configure it using metadata, a script, or another suitable method." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:333(para) -msgid "Edit the /etc/neutron/dhcp_agent.ini file and complete the following action:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:337(para) -msgid "In the [DEFAULT] section, enable the dnsmasq configuration file:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:346(para) -msgid "Create and edit the /etc/neutron/dnsmasq-neutron.conf file and complete the following action:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:351(para) -msgid "Enable the DHCP MTU option (26) and configure it to 1454 bytes:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:358(para) -msgid "Kill any existing dnsmasq processes:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:366(title) -msgid "To configure the metadata agent" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:367(para) -msgid "The metadata agent provides configuration information such as credentials to instances." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:371(para) -msgid "Edit the /etc/neutron/metadata_agent.ini file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:375(para) -msgid "In the [DEFAULT] section, configure access parameters:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:393(para) -msgid "In the [DEFAULT] section, configure the metadata host:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:400(para) -msgid "In the [DEFAULT] section, configure the metadata proxy shared secret:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:404(replaceable) ./doc/install-guide/section_neutron-network-node.xml:429(replaceable) -msgid "METADATA_SECRET" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:405(para) -msgid "Replace METADATA_SECRET with a suitable secret for the metadata proxy." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:419(para) -msgid "On the controller node, edit the /etc/nova/nova.conf file and complete the following action:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:424(para) -msgid "In the [neutron] section, enable the metadata proxy and configure the secret:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:430(para) -msgid "Replace METADATA_SECRET with the secret you chose for the metadata proxy." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:436(para) -msgid "On the controller node, restart the Compute API service:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:444(para) -msgid "The OVS service provides the underlying virtual networking framework for instances. The integration bridge br-int handles internal instance network traffic within OVS. The external bridge br-ex handles external instance network traffic within OVS. The external bridge requires a port on the physical external network interface to provide instances with external network access. In essence, this port connects the virtual and physical external networks in your environment." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:464(para) -msgid "Add the external bridge:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:468(para) -msgid "Add a port to the external bridge that connects to the physical external network interface:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:475(para) -msgid "Depending on your network interface driver, you may need to disable generic receive offload (GRO) to achieve suitable throughput between your instances and the external network." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:479(para) -msgid "To temporarily disable GRO on the external network interface while testing your environment:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:516(para) ./doc/install-guide/section_neutron-network-node.xml:530(para) -msgid "Start the Networking services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:524(para) ./doc/install-guide/section_neutron-network-node.xml:538(para) -msgid "Do not explicitly start the neutron-ovs-cleanup service." -msgstr "" - -#: ./doc/install-guide/section_neutron-network-node.xml:544(para) -msgid "Restart the Networking services:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:7(title) -msgid "Install the Data processing service" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:8(para) -msgid "This procedure installs the Data processing service (sahara) on the controller node." -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:10(para) -msgid "To install the Data processing service on the controller:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:13(para) -msgid "Install the required packages:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:32(para) -msgid "You need to install the required packages. For now, sahara doesn't have packages for Ubuntu. Documentation will be updated once the packages are available. The rest of this document assumes that you have the sahara service packages installed on the system." -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:39(para) -msgid "Edit /etc/sahara/sahara.conf configuration file" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:45(replaceable) ./doc/install-guide/section_sahara-install.xml:113(replaceable) ./doc/install-guide/section_sahara-install.xml:114(replaceable) -msgid "SAHARA_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:41(para) -msgid "First, edit option in the [database] section. The URL provided here should point to an empty database. For instance, connection string for MySQL database will be: " -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:47(para) -msgid "Switch to the [keystone_authtoken] section. The option should point to the public Identity API endpoint. should point to the admin Identity API endpoint. For example: " -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:54(para) -msgid "Next specify admin_user, admin_password and admin_tenant_name. These parameters must specify a keystone user which has the admin role in the given tenant. These credentials allow sahara to authenticate and authorize its users." -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:61(para) -msgid "Switch to the [DEFAULT] section. Proceed to the networking parameters. If you are using Neutron for networking, then set use_neutron=true. Otherwise if you are using nova-network set the given parameter to false." -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:67(para) -msgid "That should be enough for the first run. If you want to increase logging level for troubleshooting, there are two parameters in the config: verbose and debug. If the former is set to true, sahara will start to write logs of INFO level and above. If debug is set to true, sahara will write all the logs, including the DEBUG ones." -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:80(para) -msgid "If you use the Data processing service with a MySQL or MariaDB database, you must configure the maximum number of allowed packets for storing big job binaries in the service internal database." -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:85(para) -msgid "Edit the /etc/mysql/my.cnf/etc/my.cnf file and change the max_allowed_packet option:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:108(para) -msgid "Create the sahara database:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:112(para) -msgid "Grant proper access to the sahara database:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:115(para) -msgid "Replace SAHARA_DBPASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:123(para) -msgid "Create database schema: " -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:138(para) -msgid "Create the sahara user:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:153(para) -msgid "Add the admin role to the sahara user:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:164(para) -msgid "Create the sahara service entity:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:180(para) -msgid "Create the Data processing service API endpoint:" -msgstr "" - -#: ./doc/install-guide/section_sahara-install.xml:201(para) -msgid "Start the Data processing service and configure it to start when the system boots: " -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:30(None) -msgid "@@image: 'figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png'; md5=aafd53894e1d960531d4901123952117" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:37(None) -msgid "@@image: 'figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png'; md5=a935563e4fba9b00040e35cdcfffc732" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:44(None) -msgid "@@image: 'figures/debconf-screenshots/service_keystone_authtoken_tenant_admin_user.png'; md5=fe3dc93c591b3e9783d4d05556efcf25" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:51(None) -msgid "@@image: 'figures/debconf-screenshots/service_keystone_authtoken_admin_password.png'; md5=0c30c80315d5e636dbe93a938fc2822b" -msgstr "" - -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:7(title) -msgid "Services and the [keystone_authtoken]" -msgstr "" - -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:8(para) -msgid "Because most OpenStack services must access the Identity Service, you must configure the IP address of the keystone server to be able to access it. You must also configure the admin_tenant_name, admin_user, and admin_password options for each service to work." -msgstr "" - -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:14(para) -msgid "Generally, this section looks like this:" -msgstr "" - -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:21(para) -msgid "The debconf system helps users configure the auth_uri, identity_uri, admin_tenant_name, admin_user and admin_password options." -msgstr "" - -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:25(para) -msgid "The following screens show an example Image service configuration:" -msgstr "" - -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:55(para) -msgid "This information is stored in the configuration file for each service. For example:" -msgstr "" - -#: ./doc/install-guide/section_debconf-keystone_authtoken.xml:63(para) -msgid "The Debian OpenStack packages offer automation for this, so OpenStack users do not have to manually edit the configuration files." -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-rabbitmq.xml:16(None) -msgid "@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; md5=5353ad857884a2d31847cf82efbdc6b6" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-rabbitmq.xml:23(None) -msgid "@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; md5=33a3c1182e79ed65f1b1b63f2156792c" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-rabbitmq.xml:30(None) -msgid "@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; md5=6385185200d20e96b6316ae15ae1255d" -msgstr "" - -#: ./doc/install-guide/section_debconf-rabbitmq.xml:7(title) -msgid "RabbitMQ credentials parameters" -msgstr "" - -#: ./doc/install-guide/section_debconf-rabbitmq.xml:8(para) -msgid "For every package that must connect to a Messaging Server, the Debian package enables you to configure the IP address for that server and the user name and password that is used to connect. The following example shows configuration with the ceilometer-common package:" -msgstr "" - -#: ./doc/install-guide/section_debconf-rabbitmq.xml:34(para) -msgid "These debconf screens appear in: ceilometer-common, cinder-common, glance-common, heat-common, neutron-common and nova-common." -msgstr "" - -#: ./doc/install-guide/section_debconf-rabbitmq.xml:41(para) -msgid "This will configure the below directives (example from nova.conf):" -msgstr "" - -#: ./doc/install-guide/section_debconf-rabbitmq.xml:47(para) -msgid "The other directives concerning RabbitMQ will stay untouched." -msgstr "" - -#: ./doc/install-guide/section_basics-security.xml:8(title) -msgid "Security" -msgstr "" - -#: ./doc/install-guide/section_basics-security.xml:9(para) -msgid "OpenStack services support various security methods including password, policy, and encryption. Additionally, supporting services including the database server and message broker support at least password security." -msgstr "" - -#: ./doc/install-guide/section_basics-security.xml:13(para) -msgid "To ease the installation process, this guide only covers password security where applicable. You can create secure passwords manually, generate them using a tool such as pwgen, or by running the following command:" -msgstr "" - -#: ./doc/install-guide/section_basics-security.xml:19(para) -msgid "For OpenStack services, this guide uses SERVICE_PASS to reference service account passwords and SERVICE_DBPASS to reference database passwords." -msgstr "" - -#: ./doc/install-guide/section_basics-security.xml:24(para) -msgid "The following table provides a list of services that require passwords and their associated references in the guide:
    Passwords
    Password nameDescription
    Database password (no variable used)Root password for the database
    ADMIN_PASSPassword of user admin
    CEILOMETER_DBPASSDatabase password for the Telemetry service
    CEILOMETER_PASSPassword of Telemetry service user ceilometer
    CINDER_DBPASSDatabase password for the Block Storage service
    CINDER_PASSPassword of Block Storage service user cinder
    DASH_DBPASSDatabase password for the dashboard
    DEMO_PASSPassword of user demo
    GLANCE_DBPASSDatabase password for Image service
    GLANCE_PASSPassword of Image service user glance
    HEAT_DBPASSDatabase password for the Orchestration service
    HEAT_DOMAIN_PASSPassword of Orchestration domain
    HEAT_PASSPassword of Orchestration service user heat
    KEYSTONE_DBPASSDatabase password of Identity service
    NEUTRON_DBPASSDatabase password for the Networking service
    NEUTRON_PASSPassword of Networking service user neutron
    NOVA_DBPASSDatabase password for Compute service
    NOVA_PASSPassword of Compute service user nova
    RABBIT_PASSPassword of user guest of RabbitMQ
    SAHARA_DBPASSDatabase password of Data processing service
    SWIFT_PASSPassword of Object Storage service user swift
    TROVE_DBPASSDatabase password of Database service
    TROVE_PASSPassword of Database service user trove
    " -msgstr "" - -#: ./doc/install-guide/section_basics-security.xml:130(para) -msgid "OpenStack and supporting services require administrative privileges during installation and operation. In some cases, services perform modifications to the host that can interfere with deployment automation tools such as Ansible, Chef, and Puppet. For example, some OpenStack services add a root wrapper to sudo that can interfere with security policies. See the Cloud Administrator Guide for more information. Also, the Networking service assumes default values for kernel network parameters and modifies firewall rules. To avoid most issues during your initial installation, we recommend using a stock deployment of a supported distribution on your hosts. However, if you choose to automate deployment of your hosts, review the configuration and policies applied to them before proceeding further." -msgstr "" - -#: ./doc/install-guide/section_heat-verify.xml:8(para) -msgid "This section describes how to verify operation of the Orchestration module (heat)." -msgstr "" - -#: ./doc/install-guide/section_heat-verify.xml:16(para) -msgid "The Orchestration module uses templates to describe stacks. To learn about the template language, see the Template Guide in the Heat developer documentation." -msgstr "" - -#: ./doc/install-guide/section_heat-verify.xml:22(para) -msgid "Create a test template in the test-stack.yml file with the following content:" -msgstr "" - -#: ./doc/install-guide/section_heat-verify.xml:50(para) -msgid "Use the command to create a stack from the template:" -msgstr "" - -#: ./doc/install-guide/section_heat-verify.xml:62(para) -msgid "Use the command to verify successful creation of the stack:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:8(title) -msgid "Install and configure a storage node" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:9(para) -msgid "This section describes how to install and configure storage nodes for the Block Storage service. For simplicity, this configuration references one storage node with an empty local block storage device /dev/sdb that contains a suitable partition table with one partition /dev/sdb1 occupying the entire device. The service provisions logical volumes on this device using the LVM driver and provides them to instances via iSCSI transport. You can follow these instructions with minor modifications to horizontally scale your environment with additional storage nodes." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:22(para) -msgid "You must configure the storage node before you install and configure the volume service on it. Similar to the controller node, the storage node contains one network interface on the management network. The storage node also needs an empty block storage device of suitable size for your environment. For more information, see ." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:30(para) ./doc/install-guide/section_swift-storage-node.xml:34(para) ./doc/install-guide/section_swift-storage-node.xml:49(para) -msgid "Configure the management interface:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:31(para) -msgid "IP address: 10.0.0.41" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:36(para) -msgid "Set the hostname of the node to block1." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:40(para) -msgid "Copy the contents of the /etc/hosts file from the controller node to the storage node and add the following to it:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:45(para) ./doc/install-guide/section_swift-storage-node.xml:71(para) -msgid "Also add this content to the /etc/hosts file on all other nodes in your environment." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:49(para) ./doc/install-guide/section_swift-storage-node.xml:75(para) -msgid "Install and configure NTP using the instructions in ." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:55(para) -msgid "If you intend to use non-raw image types such as QCOW2 and VMDK, install the QEMU support package:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:62(para) -msgid "Install the LVM packages:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:66(para) -msgid "Some distributions include LVM by default." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:70(para) -msgid "Start the LVM metadata service and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:76(para) -msgid "Create the LVM physical volume /dev/sdb1:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:80(para) -msgid "If your system uses a different device name, adjust these steps accordingly." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:85(para) -msgid "Create the LVM volume group cinder-volumes:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:89(para) -msgid "The Block Storage service creates logical volumes in this volume group." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:93(para) -msgid "Only instances can access Block Storage volumes. However, the underlying operating system manages the devices associated with the volumes. By default, the LVM volume scanning tool scans the /dev directory for block storage devices that contain volumes. If projects use LVM on their volumes, the scanning tool detects these volumes and attempts to cache them which can cause a variety of problems with both the underlying operating system and project volumes. You must reconfigure LVM to scan only the devices that contain the cinder-volume volume group. Edit the /etc/lvm/lvm.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:106(para) -msgid "In the devices section, add a filter that accepts the /dev/sdb device and rejects all other devices:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:112(para) -msgid "Each item in the filter array begins with a for accept or r for reject and includes a regular expression for the device name. The array must end with r/.*/ to reject any remaining devices. You can use the command to test filters." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:120(para) -msgid "If your storage nodes use LVM on the operating system disk, you must also add the associated device to the filter. For example, if the /dev/sda device contains the operating system:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:125(para) -msgid "Similarly, if your compute nodes use LVM on the operating system disk, you must also modify the filter in the /etc/lvm/lvm.conf file on those nodes to include only the operating system disk. For example, if the /dev/sda device contains the operating system:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:138(title) ./doc/install-guide/section_cinder-storage-node.xml:271(title) -msgid "Install and configure Block Storage volume components" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:156(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:32(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:34(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:172(replaceable) -msgid "CINDER_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:157(para) ./doc/install-guide/section_cinder-controller-node.xml:173(para) -msgid "Replace CINDER_DBPASS with the password you chose for the Block Storage database." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:194(replaceable) ./doc/install-guide/section_cinder-controller-node.xml:210(replaceable) -msgid "CINDER_PASS" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:195(para) ./doc/install-guide/section_cinder-controller-node.xml:211(para) -msgid "Replace CINDER_PASS with the password you chose for the cinder user in the Identity service." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:209(para) -msgid "Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network interface on your storage node, typically 10.0.0.41 for the first node in the example architecture." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:217(para) -msgid "In the [lvm] section, configure the LVM back end with the LVM driver, cinder-volumes volume group, iSCSI protocol, and appropriate iSCSI service:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:235(para) -msgid "In the [DEFAULT] section, enable the LVM back end:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:241(para) -msgid "Back-end names are arbitrary. As an example, this guide uses the name of the driver as the name of the back end." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:246(para) -msgid "In the [DEFAULT] section, configure the location of the Image service:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:277(para) -msgid "Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials.." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:287(para) -msgid "Respond to prompts for the volume group to associate with the Block Storage service. The script scans for volume groups and attempts to use the first one. If your system only contains the cinder-volumes volume group, the script should automatically choose it." -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:297(para) -msgid "Restart the Block Storage volume service including its dependencies:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:303(para) -msgid "Start the Block Storage volume service including its dependencies and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_cinder-storage-node.xml:311(para) -msgid "By default, the Ubuntu packages create an SQLite database. Because this configuration uses a SQL database server, remove the SQLite database file:" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-api-endpoints.xml:30(None) -msgid "@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; md5=d534be231be4f725820a1050fbf44231" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-api-endpoints.xml:41(None) -msgid "@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-api-endpoints.xml:55(None) -msgid "@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png'; md5=1f3b05ebe671f64d672ac70d246e4f39" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-api-endpoints.xml:70(None) -msgid "@@image: 'figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png'; md5=6853f0ae2ef8d5fddb22c466d465de15" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_debconf-api-endpoints.xml:82(None) -msgid "@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; md5=a6bce0acf5a1cb85f161290f0cf30733" -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:7(title) -msgid "Register API endpoints" -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:8(para) -msgid "All Debian packages for API services, except the heat-api package, register the service in the Identity Service catalog. This feature is helpful because API endpoints are difficult to remember." -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:13(para) -msgid "The heat-common package and not the heat-api package configures the Orchestration service." -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:17(para) -msgid "When you install a package for an API service, you are prompted to register that service. However, after you install or upgrade the package for an API service, Debian immediately removes your response to this prompt from the debconf database. Consequently, you are prompted to re-register the service with the Identity Service. If you already registered the API service, respond no when you upgrade." -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:34(para) -msgid "This screen registers packages in the Identity Service catalog:" -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:45(para) -msgid "You are prompted for the Identity Service admin_token value. The Identity Service uses this value to register the API service. When you set up the keystone package, this value is configured automatically." -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:59(para) -msgid "This screen configures the IP addresses for the service. The configuration script automatically detects the IP address used by the interface that is connected to the default route (/sbin/route and /sbin/ip)." -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:63(para) -msgid "Unless you have a unique set up for your network, press ENTER." -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:74(para) -msgid "This screen configures the region name for the service. For example, us-east-coast or europe-paris." -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:86(para) -msgid "The Debian package post installation scripts will then perform the below commands for you:" -msgstr "" - -#: ./doc/install-guide/section_debconf-api-endpoints.xml:98(para) -msgid "The values of AUTH_TOKEN, KEYSTONE_ENDPOINT_IP, PKG_ENDPOINT_IP and REGION_NAME depend on the answer you will provide to the debconf prompts. But the values of SERVICE_NAME, SERVICE_TYPE, SERVICE_DESC and SERVICE_URL are already pre-wired in each package, so you don't have to remember them." -msgstr "" - -#: ./doc/install-guide/section_dashboard-verify.xml:9(para) -msgid "This section describes how to verify operation of the dashboard." -msgstr "" - -#: ./doc/install-guide/section_dashboard-verify.xml:13(para) -msgid "Access the dashboard using a web browser: http://controller/horizonhttps://controller/http://controller/dashboardhttp://controller." -msgstr "" - -#: ./doc/install-guide/section_dashboard-verify.xml:20(para) -msgid "Authenticate using admin or demo user credentials." -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:7(title) -msgid "Install and configure the storage nodes" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:8(para) -msgid "This section describes how to install and configure storage nodes that operate the account, container, and object services. For simplicity, this configuration references two storage nodes, each containing two empty local block storage devices. Each of the devices, /dev/sdb and /dev/sdc, must contain a suitable partition table with one partition occupying the entire device. Although the Object Storage service supports any file system with extended attributes (xattr), testing and benchmarking indicate the best performance and reliability on XFS. For more information on horizontally scaling your environment, see the Deployment Guide." -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:23(para) -msgid "You must configure each storage node before you install and configure the Object Storage service on it. Similar to the controller node, each storage node contains one network interface on the management network. Optionally, each storage node can contain a second network interface on a separate network for replication. For more information, see ." -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:31(para) -msgid "Configure unique items on the first storage node:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:35(para) -msgid "IP address: 10.0.0.51" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:40(para) -msgid "Set the hostname of the node to object1." -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:46(para) -msgid "Configure unique items on the second storage node:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:50(para) -msgid "IP address: 10.0.0.52" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:55(para) -msgid "Set the hostname of the node to object2." -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:61(para) -msgid "Configure shared items on both storage nodes:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:64(para) -msgid "Copy the contents of the /etc/hosts file from the controller node and add the following to it:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:81(para) -msgid "Install the supporting utility packages:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:87(para) -msgid "Format the /dev/sdb1 and /dev/sdc1 partitions as XFS:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:93(para) -msgid "Create the mount point directory structure:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:98(para) -msgid "Edit the /etc/fstab file and add the following to it:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:104(para) -msgid "Mount the devices:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:111(para) -msgid "Edit the /etc/rsyncd.conf file and add the following to it:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:136(para) ./doc/install-guide/section_swift-storage-node.xml:212(para) ./doc/install-guide/section_swift-storage-node.xml:254(para) ./doc/install-guide/section_swift-storage-node.xml:296(para) -msgid "Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network on the storage node." -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:140(para) -msgid "The rsync service requires no authentication, so consider running it on a private network." -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:146(para) -msgid "Edit the /etc/default/rsync file and enable the rsync service:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:151(para) -msgid "Start the rsync service:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:156(para) -msgid "Start the rsyncd service and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:163(title) -msgid "Install and configure storage node components" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:172(para) -msgid "Perform these steps on each storage node." -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:183(para) -msgid "Obtain the accounting, container, object, container-reconciler, and object-expirer service configuration files from the Object Storage source repository:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:197(para) -msgid "Edit the /etc/swift/account-server.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:202(para) ./doc/install-guide/section_swift-storage-node.xml:244(para) ./doc/install-guide/section_swift-storage-node.xml:286(para) -msgid "In the [DEFAULT] section, configure the bind IP address, bind port, user, configuration directory, and mount point directory:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:230(para) ./doc/install-guide/section_swift-storage-node.xml:272(para) -msgid "In the [filter:recon] section, configure the recon (meters) cache directory:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:239(para) -msgid "Edit the /etc/swift/container-server.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:281(para) -msgid "Edit the /etc/swift/object-server.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:314(para) -msgid "In the [filter:recon] section, configure the recon (meters) cache and lock directories:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:324(para) -msgid "Ensure proper ownership of the mount point directory structure:" -msgstr "" - -#: ./doc/install-guide/section_swift-storage-node.xml:329(para) -msgid "Create the recon directory and ensure proper ownership of it:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:8(para) -msgid "This section describes how to install and configure the Block Storage service, code-named cinder, on the controller node. This service requires at least one additional storage node that provides volumes to instances." -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:14(para) -msgid "Before you install and configure the Block Storage service, you must create a database, service credentials, and API endpoint." -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:25(para) -msgid "Create the cinder database:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:29(para) -msgid "Grant proper access to the cinder database:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:35(para) -msgid "Replace CINDER_DBPASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:52(para) -msgid "Create a cinder user:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:67(para) -msgid "Add the admin role to the cinder user:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:78(para) -msgid "Create the cinder service entities:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:102(para) -msgid "The Block Storage service requires both the volume and volumev2 services. However, both services use the same API endpoint that references the Block Storage version 2 API." -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:111(para) -msgid "Create the Block Storage service API endpoints:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:151(title) ./doc/install-guide/section_cinder-controller-node.xml:250(title) -msgid "To install and configure Block Storage controller components" -msgstr "" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1212900. -#: ./doc/install-guide/section_cinder-controller-node.xml:160(para) -msgid "Copy the /usr/share/cinder/cinder-dist.conf file to /etc/cinder/cinder.conf." -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:220(para) ./doc/install-guide/section_nova-controller-install.xml:192(para) -msgid "In the [DEFAULT] section, configure the my_ip option to use the management interface IP address of the controller node:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:245(para) -msgid "Populate the Block Storage database:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:256(para) -msgid "Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials." -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:269(para) -msgid "Restart the Block Storage services:" -msgstr "" - -#: ./doc/install-guide/section_cinder-controller-node.xml:274(para) -msgid "Start the Block Storage services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/ch_heat.xml:7(title) -msgid "Add the Orchestration module" -msgstr "" - -#: ./doc/install-guide/ch_heat.xml:8(para) -msgid "The Orchestration module (heat) uses a heat orchestration template (HOT) to create and manage cloud resources." -msgstr "" - -#: ./doc/install-guide/ch_heat.xml:15(para) -msgid "Your OpenStack environment now includes Orchestration. You can launch an instance or add more services to your environment in the following chapters." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-compute-node.xml:7(title) -msgid "Configure compute node" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-compute-node.xml:8(para) -msgid "This section covers deployment of a simple flat network that provides IP addresses to your instances via DHCP. If your environment includes multiple compute nodes, the multi-host feature provides redundancy by spreading network functions across compute nodes." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-compute-node.xml:15(title) -msgid "To install legacy networking components" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-compute-node.xml:30(para) -msgid "In the [DEFAULT] section, configure the network parameters:" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-compute-node.xml:47(para) -msgid "Replace INTERFACE_NAME with the actual interface name for the external network. For example, eth1 or ens224. You can also leave these two parameters undefined if you are serving multiple networks with individual bridges for each." -msgstr "" - -#: ./doc/install-guide/section_nova-networking-compute-node.xml:56(para) -msgid "Restart the services:" -msgstr "" - -#: ./doc/install-guide/section_nova-networking-compute-node.xml:59(para) -msgid "Start the services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:7(title) -msgid "Install the Database service" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:8(para) -msgid "This procedure installs the Database service on the controller node." -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:11(title) -msgid "Prerequisites" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:12(para) -msgid "This chapter assumes that you already have a working OpenStack environment with at least the following components installed: Compute, Image service, Identity." -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:18(para) -msgid "If you want to do backup and restore, you also need Object Storage." -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:21(para) -msgid "If you want to provision datastores on block-storage volumes, you also need Block Storage." -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:24(para) -msgid "To install the Database service on the controller:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:27(para) -msgid "Install required packages:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:34(para) -msgid "Respond to the prompts for database management and [keystone_authtoken] settings, and API endpoint registration. The command runs automatically." -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:41(para) -msgid "All configuration files should be placed at the /etc/trove directory. Edit the following configuration files, taking the below actions for each file:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:45(filename) -msgid "api-paste.ini" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:46(filename) -msgid "trove.conf" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:47(filename) -msgid "trove-taskmanager.conf" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:48(filename) -msgid "trove-conductor.conf" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:52(para) -msgid "You need to take upstream api-paste.ini and change content below in it:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:59(replaceable) -msgid "TROVE_PASS" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:60(para) -msgid "Edit the [DEFAULT] section of each file (except api-paste.ini) and set appropriate values for the OpenStack service URLs (can be handled by Keystone service catalog), logging and messaging configuration. Edit the [database] section in each file to add the SQL connections:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:74(literal) ./doc/install-guide/section_trove-install.xml:127(replaceable) ./doc/install-guide/section_trove-install.xml:129(replaceable) -msgid "TROVE_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:79(para) -msgid "Configure the Database service to use the RabbitMQ message broker by setting the following options in the [DEFAULT] configuration group of each file:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:85(replaceable) -msgid "guest" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:87(replaceable) -msgid "/" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:94(para) -msgid "Edit the trove.conf file so it includes appropriate values for the default datastore and network label regex as shown below:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:106(para) -msgid "Edit the trove-taskmanager.conf file so it includes the required settings to connect to the OpenStack Compute service as shown below:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:123(para) -msgid "Prepare the trove admin database:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:133(para) -msgid "Prepare the Database service:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:136(para) -msgid "Initialize the database:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:140(para) -msgid "Create a datastore. You need to create a separate datastore for each type of database you want to use, for example, MySQL, MongoDB, Cassandra. This example shows you how to create a datastore for a MySQL database:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:148(para) -msgid "Create a trove image." -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:149(para) -msgid "Create an image for the type of database you want to use, for example, MySQL, MongoDB, Cassandra." -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:151(para) -msgid "This image must have the trove guest agent installed, and it must have the trove-guestagent.conf file configured to connect to your OpenStack environment. To correctly configure the trove-guestagent.conf file, follow these steps on the guest instance you are using to build your image:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:160(para) -msgid "Add the following lines to trove-guestagent.conf:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:172(para) -msgid "Update the datastore and version to use the specific image with the command." -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:173(replaceable) ./doc/install-guide/section_trove-install.xml:174(replaceable) ./doc/install-guide/section_trove-install.xml:184(replaceable) ./doc/install-guide/section_trove-install.xml:185(replaceable) -msgid "datastore_name" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:173(replaceable) -msgid "datastore_version" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:174(replaceable) ./doc/install-guide/section_trove-install.xml:184(replaceable) -msgid "version_name" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:175(replaceable) -msgid "datastore_manager" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:175(replaceable) -msgid "glance_image_id" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:175(replaceable) -msgid "packages" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:175(replaceable) -msgid "active" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:176(para) -msgid "This example shows you how to create a MySQL datastore with version 5.5:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:178(replaceable) -msgid "glance_image_ID" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:181(para) -msgid "Upload post-provisioning configuration validation rules:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:185(replaceable) -msgid "/etc//validation-rules.json" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:186(para) -msgid "Example for uploading rules for MySQL datastore:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:202(para) -msgid "Create the trove user:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:217(para) -msgid "Add the admin role to the trove user:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:245(para) -msgid "Create the Database service API endpoint:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:267(para) -msgid "Restart the Database services:" -msgstr "" - -#: ./doc/install-guide/section_trove-install.xml:274(para) -msgid "Start the Database services and configure them to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:8(para) -msgid "This section describes how to install and configure the Compute service, code-named nova, on the controller node." -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:12(para) -msgid "Before you install and configure the Compute service, you must create a database, service credentials, and API endpoint." -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:24(para) -msgid "Create the nova database:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:28(para) -msgid "Grant proper access to the nova database:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:31(replaceable) ./doc/install-guide/section_nova-controller-install.xml:33(replaceable) ./doc/install-guide/section_nova-controller-install.xml:144(replaceable) -msgid "NOVA_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:34(para) -msgid "Replace NOVA_DBPASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:52(para) -msgid "Create the nova user:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:67(para) -msgid "Add the admin role to the nova user:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:78(para) -msgid "Create the nova service entity:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:94(para) -msgid "Create the Compute service API endpoint:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:116(title) -msgid "To install and configure Compute controller components" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:140(para) -msgid "Add a [database] section, and configure database access:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:145(para) -msgid "Replace NOVA_DBPASS with the password you chose for the Compute database." -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:200(para) ./doc/install-guide/section_nova-controller-install.xml:261(para) -msgid "In the [DEFAULT] section, configure the VNC proxy to use the management interface IP address of the controller node:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:235(para) -msgid "Populate the Compute database:" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:240(title) -msgid "To install and configure the Compute controller components" -msgstr "" - -#: ./doc/install-guide/section_nova-controller-install.xml:284(para) -msgid "Start the Compute services and configure them to start when the system boots:" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_keystone-install.xml:173(None) -msgid "@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; md5=29a51caaf09c3d6e3f0fda73c256a17a" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_keystone-install.xml:200(None) -msgid "@@image: 'figures/debconf-screenshots/keystone_2_register_admin_tenant_yes_no.png'; md5=25c9a90b1df2d979aae6ce9975c7285b" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_keystone-install.xml:209(None) -msgid "@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; md5=173cf7ed13252df1425109be588b2ad6" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_keystone-install.xml:218(None) -msgid "@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_keystone-install.xml:227(None) -msgid "@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; md5=e6b32d8d80af90f07a66abc8fb256c84" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_keystone-install.xml:236(None) -msgid "@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm.png'; md5=1fbf9223e4923c93030d53278d1771cc" -msgstr "" - -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: ./doc/install-guide/section_keystone-install.xml:256(None) -msgid "@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; md5=d24d84133bfee936267e79631a2666e6" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:12(para) -msgid "This section describes how to install and configure the OpenStack Identity service, code-named keystone, on the controller node. For performance, this configuration deploys the Apache HTTP server to handle requests and Memcached to store tokens instead of a SQL database." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:19(para) -msgid "Before you configure the OpenStack Identity service, you must create a database and an administration token." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:30(para) -msgid "Create the keystone database:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:34(para) -msgid "Grant proper access to the keystone database:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:37(replaceable) ./doc/install-guide/section_keystone-install.xml:39(replaceable) ./doc/install-guide/section_keystone-install.xml:106(replaceable) ./doc/install-guide/section_keystone-install.xml:159(replaceable) -msgid "KEYSTONE_DBPASS" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:40(para) -msgid "Replace KEYSTONE_DBPASS with a suitable password." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:48(para) ./doc/install-guide/section_keystone-install.xml:166(para) -msgid "Generate a random value to use as the administration token during initial configuration:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:54(title) -msgid "To install and configure the Identity service components" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:63(para) -msgid "In Kilo, the keystone project deprecates Eventlet in favor of a WSGI server. This guide uses the Apache HTTP server with mod_wsgi to serve keystone requests on ports 5000 and 35357. By default, the keystone service still listens on ports 5000 and 35357. Therefore, this guide disables the keystone service." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:72(para) -msgid "Disable the keystone service from starting automatically after installation:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:77(para) ./doc/install-guide/section_keystone-install.xml:149(para) -msgid "Run the following command to install the packages:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:83(para) -msgid "Start the Memcached service and configure it to start when the system boots:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:89(para) -msgid "Edit the /etc/keystone/keystone.conf file and complete the following actions:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:93(para) -msgid "In the [DEFAULT] section, define the value of the initial administration token:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:98(para) -msgid "Replace ADMIN_TOKEN with the random value that you generated in a previous step." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:107(para) -msgid "Replace KEYSTONE_DBPASS with the password you chose for the database." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:111(para) -msgid "In the [memcache] section, configure the Memcache service:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:118(para) -msgid "In the [token] section, configure the UUID token provider and Memcached driver:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:126(para) -msgid "In the [revoke] section, configure the SQL revocation driver:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:142(para) -msgid "Populate the Identity service database:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:147(title) -msgid "To install and configure the components" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:151(para) -msgid "python-keystoneclient will automatically be installed as it is a dependency of the keystone package." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:155(para) -msgid "Respond to prompts for , which will fill the below database access directive." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:160(para) -msgid "If you decide to not use , then you will have to create the database and manage its access rights yourself, and run the following by hand." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:169(para) -msgid "Configure the initial administration token:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:177(para) -msgid "Use the random value that you generated in a previous step. If you install using non-interactive mode or you do not specify this token, the configuration tool generates a random value." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:180(para) -msgid "Later on, the package will configure the below directive with the value you entered:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:187(para) -msgid "Create the admin tenant and user:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:188(para) -msgid "During the final stage of the package installation, it is possible to automatically create an admin tenant and an admin user. This can later be used for other OpenStack services to contact the Identity service. This is the equivalent of running the below commands:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:242(title) -msgid "Create the Identity service endpoints" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:243(para) -msgid "In Debian, the Keystone package offers automatic registration of Keystone in the service catalogue. This is equivalent of running the below commands:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:263(title) -msgid "To configure the Apache HTTP server" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:265(para) -msgid "Edit the /etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf file and configure the ServerName option to reference the controller node:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:272(para) -msgid "Edit the /etc/sysconfig/apache2 file and configure the APACHE_SERVERNAME option to reference the controller node:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:279(para) -msgid "Create the /etc/apache2/sites-available/wsgi-keystone.conf/etc/httpd/conf.d/wsgi-keystone.conf/etc/apache2/conf.d/wsgi-keystone.conf file with the following content:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:368(para) -msgid "Enable the Identity service virtual hosts:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:372(para) -msgid "Create the directory structure for the WSGI components:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:377(para) -msgid "Copy the WSGI components from the upstream repository into this directory:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:385(para) -msgid "Adjust ownership and permissions on this directory and the files in it:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:393(para) -msgid "Change the ownership of /etc/keystone to give the keystone system access to it:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:404(para) -msgid "Restart the Apache HTTP server:" -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:418(para) -msgid "By default, the Identity service stores expired tokens in the SQL database indefinitely. The accumulation of expired tokens considerably increases the database size and degrades performance over time, particularly in environments with limited resources." -msgstr "" - -#: ./doc/install-guide/section_keystone-install.xml:422(para) -msgid "The packages already contain a cron job under /etc/cron.hourly/keystone, so it is not necessary to manually configure a periodic task that purges expired tokens." -msgstr "" - -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -#: ./doc/install-guide/section_keystone-install.xml:0(None) -msgid "translator-credits" -msgstr "" - diff --git a/doc/install-guide/locale/ja.po b/doc/install-guide/locale/ja.po deleted file mode 100644 index 22ffd6b4ba..0000000000 --- a/doc/install-guide/locale/ja.po +++ /dev/null @@ -1,7812 +0,0 @@ -# -# Translators: -# Andreas Jaeger , 2015 -# yfukuda , 2013 -# Tomoyuki KATO , 2013-2015 -# yfukuda , 2013 -msgid "" -msgstr "" -"Project-Id-Version: OpenStack Manuals\n" -"POT-Creation-Date: 2015-08-11 05:11+0000\n" -"PO-Revision-Date: 2015-08-10 06:25+0000\n" -"Last-Translator: openstackjenkins \n" -"Language-Team: Japanese (http://www.transifex.com/openstack/openstack-" -"manuals-i18n/language/ja/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "(Optional)" -msgstr "(オプション)" - -msgid "" -"(Optional) To assist with troubleshooting, enable verbose logging in the " -"[DEFAULT] section:" -msgstr "" -"(オプション) トラブルシューティングしやすくするために、冗長ロギングを " -"[DEFAULT] セクションで有効化します。" - -msgid "/" -msgstr "/" - -msgid "/etc//validation-rules.json" -msgstr "/etc//validation-rules.json" - -msgid "160" -msgstr "160" - -msgid "161" -msgstr "161" - -msgid "162" -msgstr "162" - -msgid "163" -msgstr "163" - -msgid "164" -msgstr "164" - -msgid "165" -msgstr "165" - -msgid "166" -msgstr "166" - -msgid "187" -msgstr "187" - -msgid "2012" -msgstr "2012" - -msgid "2013" -msgstr "2013" - -msgid "2014" -msgstr "2014" - -msgid "2015" -msgstr "2015" - -msgid "96" -msgstr "96" - -msgid "" -"python-keystoneclient will automatically be installed as " -"it is a dependency of the keystone package." -msgstr "" -"keystone パッケージの依存関係により、python-" -"keystoneclient が自動的にインストールされます。" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguide-neutron-initialnetworks.png'; " -"md5=f77c580f44d340221742a6a1ac443b33" -msgstr "" -"@@image: '../common/figures/installguide-neutron-initialnetworks.png'; " -"md5=f77c580f44d340221742a6a1ac443b33" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-hw.png'; " -"md5=256987507b566287c69081c1b1083941" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-hw.png'; " -"md5=256987507b566287c69081c1b1083941" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-networks.png'; " -"md5=e9bc3993ebae65063c83a7fcbe779ad2" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-networks.png'; " -"md5=e9bc3993ebae65063c83a7fcbe779ad2" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-services.png'; " -"md5=bba84d5b30fc9ed13391738d072c376a" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-services.png'; " -"md5=bba84d5b30fc9ed13391738d072c376a" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-hw.png'; " -"md5=2868ba248354a3ff4a4bb5a39e1a6261" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-hw.png'; " -"md5=2868ba248354a3ff4a4bb5a39e1a6261" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-networks.png'; " -"md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-networks.png'; " -"md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-services.png'; " -"md5=5c151372a5eeb4f07c537c37cd956e22" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-services.png'; " -"md5=5c151372a5eeb4f07c537c37cd956e22" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/openstack_kilo_conceptual_arch.png'; " -"md5=75711ac48a6bdac83020ae2677064023" -msgstr "" -"@@image: '../common/figures/openstack_kilo_conceptual_arch.png'; " -"md5=75711ac48a6bdac83020ae2677064023" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; " -"md5=d534be231be4f725820a1050fbf44231" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; " -"md5=d534be231be4f725820a1050fbf44231" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip." -"png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip." -"png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken." -"png'; md5=1f3b05ebe671f64d672ac70d246e4f39" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken." -"png'; md5=1f3b05ebe671f64d672ac70d246e4f39" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-" -"endpoint_4_service_endpoint_ip_address.png'; " -"md5=6853f0ae2ef8d5fddb22c466d465de15" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-" -"endpoint_4_service_endpoint_ip_address.png'; " -"md5=6853f0ae2ef8d5fddb22c466d465de15" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; " -"md5=a6bce0acf5a1cb85f161290f0cf30733" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; " -"md5=a6bce0acf5a1cb85f161290f0cf30733" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-" -"dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-" -"dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; " -"md5=a77beb7e13b487cf79716c2140f258c2" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; " -"md5=a77beb7e13b487cf79716c2140f258c2" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method." -"png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method." -"png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password." -"png'; md5=873ec338742e37305583e9e692bcfdc6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password." -"png'; md5=873ec338742e37305583e9e692bcfdc6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password." -"png'; md5=3651970770d05892f21d1b5741afbee6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password." -"png'; md5=3651970770d05892f21d1b5741afbee6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-" -"common_6_mysql_app_password_confirm.png'; " -"md5=060cc90aaf6f6fd5cea718064829c1b1" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-" -"common_6_mysql_app_password_confirm.png'; " -"md5=060cc90aaf6f6fd5cea718064829c1b1" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; " -"md5=01af4867c16e458306b8abd78a1fccc9" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; " -"md5=01af4867c16e458306b8abd78a1fccc9" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db." -"png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db." -"png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; " -"md5=78bef92c36a140ad042074f6345d8917" -msgstr "" -"@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; " -"md5=78bef92c36a140ad042074f6345d8917" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; " -"md5=29a51caaf09c3d6e3f0fda73c256a17a" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; " -"md5=29a51caaf09c3d6e3f0fda73c256a17a" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"keystone_2_register_admin_tenant_yes_no.png'; " -"md5=25c9a90b1df2d979aae6ce9975c7285b" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"keystone_2_register_admin_tenant_yes_no.png'; " -"md5=25c9a90b1df2d979aae6ce9975c7285b" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; " -"md5=173cf7ed13252df1425109be588b2ad6" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; " -"md5=173cf7ed13252df1425109be588b2ad6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; " -"md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; " -"md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; " -"md5=e6b32d8d80af90f07a66abc8fb256c84" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; " -"md5=e6b32d8d80af90f07a66abc8fb256c84" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm." -"png'; md5=1fbf9223e4923c93030d53278d1771cc" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm." -"png'; md5=1fbf9223e4923c93030d53278d1771cc" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; " -"md5=d24d84133bfee936267e79631a2666e6" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; " -"md5=d24d84133bfee936267e79631a2666e6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; " -"md5=adf41c33778a691a560b7098908792db" -msgstr "" -"@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; " -"md5=adf41c33778a691a560b7098908792db" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; " -"md5=5353ad857884a2d31847cf82efbdc6b6" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; " -"md5=5353ad857884a2d31847cf82efbdc6b6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; " -"md5=6385185200d20e96b6316ae15ae1255d" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; " -"md5=6385185200d20e96b6316ae15ae1255d" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; " -"md5=33a3c1182e79ed65f1b1b63f2156792c" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; " -"md5=33a3c1182e79ed65f1b1b63f2156792c" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_password.png'; " -"md5=0c30c80315d5e636dbe93a938fc2822b" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_password.png'; " -"md5=0c30c80315d5e636dbe93a938fc2822b" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_tenant_name.png'; " -"md5=a935563e4fba9b00040e35cdcfffc732" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_tenant_name.png'; " -"md5=a935563e4fba9b00040e35cdcfffc732" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_server_hostname.png'; " -"md5=aafd53894e1d960531d4901123952117" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_server_hostname.png'; " -"md5=aafd53894e1d960531d4901123952117" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_tenant_admin_user.png'; " -"md5=fe3dc93c591b3e9783d4d05556efcf25" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_tenant_admin_user.png'; " -"md5=fe3dc93c591b3e9783d4d05556efcf25" - -msgid "" -"A flavor specifies a virtual resource allocation profile which includes " -"processor, memory, and storage." -msgstr "" -"フレーバーは、プロセッサー、メモリ、ストレージなどの仮想リソースの割り当てプ" -"ロファイルを指定します。" - -msgid "" -"A single disk partition on each node works for most basic installations. " -"However, you should consider Logical Volume Manager (LVM) for installations with optional services such as Block Storage." -msgstr "" -"最も基本的なインストールの場合、各ノードで単一のディスクパーティションが動作" -"します。しかしながら、Block Storage のようなオプションサービスのインストール" -"に Logical Volume Manager (LVM) を検討すべきです。" - -msgid "" -"A virtual router passes network traffic between two or more virtual " -"networks. Each router requires one or more interfaces and/or gateways that provide access to specific " -"networks. In this case, you create a router and attach your tenant and " -"external networks to it." -msgstr "" -"仮想ルーターは、複数の仮想ネットワーク間でネットワーク通信を転送します。各" -"ルーターは、指定したネットワークにアクセスする、1 つ以上のインターフェースとゲートウェイが必要です。" -"今回、ルーターを作成し、プロジェクトネットワークと外部ネットワークを接続しま" -"す。" - -msgid "ADMIN_PASS" -msgstr "ADMIN_PASS" - -msgid "ADMIN_TOKEN" -msgstr "ADMIN_TOKEN" - -msgid "" -"Ability to take periodic \"snap shots\" throughout the installation process " -"and \"roll back\" to a working configuration in the event of a problem." -msgstr "" -"インストールプロセス以降、定期的な「スナップショット」を取得する機能、および" -"問題発生時に動作する設定に「ロールバック」する機能があります。" - -msgid "" -"Access the dashboard using a web browser: http://" -"controller/horizonhttps://controller/http://controller/dashboardhttp://controller." -msgstr "" -"Web ブラウザーを使用してダッシュボード (http://controller/" -"horizonhttps://controller/http://controller/dashboardhttp://controller) にアクセスします。" - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network:" -msgstr "" -"コントローラーノードまたは外部ネットワークのホストから SSH を使用して、インス" -"タンスにアクセスします。" - -msgid "Account ring" -msgstr "アカウントリング" - -msgid "Add Object Storage" -msgstr "Object Storage の追加" - -msgid "" -"Add a [database] section, and configure database access:" -msgstr "" -"[database] データベースを追加して、データベースのアクセス" -"権を設定します。" - -msgid "Add a networking component" -msgstr "networking コンポーネントの追加" - -msgid "" -"Add a port to the external bridge that connects to the physical external " -"network interface:" -msgstr "" -"外部ネットワークの物理インターフェースに接続する外部ブリッジに、ポートを追加" -"します。" - -msgid "Add each storage node to the ring:" -msgstr "各ストレージノードをリングに追加します。" - -msgid "Add rules to the default security group:" -msgstr "default セキュリティグループにルールを追加します。" - -msgid "" -"Add the ResellerAdmin role to the service tenant and ceilometer user:" -msgstr "" -"ResellerAdmin ロールを service テナント" -"と ceilometer ユーザーに追加します。" - -msgid "" -"Add the admin role to the admin " -"project and user:" -msgstr "" -"admin プロジェクトとユーザーに admin " -"ロールを追加します。" - -msgid "" -"Add the admin role to the ceilometer " -"user." -msgstr "" -"ceilometer ユーザーに admin ロールを追" -"加します。" - -msgid "" -"Add the admin role to the cinder user:" -msgstr "" -"cinder ユーザーに admin ロールを追加し" -"ます。" - -msgid "" -"Add the admin role to the glance user " -"and service project:" -msgstr "" -"glance ユーザーと service プロジェクト" -"に admin ロールを追加します。" - -msgid "" -"Add the admin role to the heat user:" -msgstr "" -"heat ユーザーに admin ロールを追加しま" -"す。" - -msgid "" -"Add the admin role to the neutron user:" -msgstr "" -"neutron ユーザーに admin ロールを追加し" -"ます。" - -msgid "" -"Add the admin role to the nova user:" -msgstr "" -"nova ユーザーに admin ロールを追加しま" -"す。" - -msgid "" -"Add the admin role to the sahara user:" -msgstr "" -"sahara ユーザーに admin ロールを追加し" -"ます。" - -msgid "" -"Add the admin role to the swift user:" -msgstr "" -"swift ユーザーに admin ロールを追加しま" -"す。" - -msgid "" -"Add the admin role to the trove user:" -msgstr "" -"trove ユーザーに admin ロールを追加しま" -"す。" - -msgid "" -"Add the heat_stack_owner role to the demo tenant and user:" -msgstr "" -"demo テナントとユーザーに heat_stack_owner ロールを追加します。" - -msgid "Add the openstack user:" -msgstr "openstack ユーザーを追加します。" - -msgid "" -"Add the swift system user to the ceilometer system group to permit access to the Telemetry configuration files " -"by the Object Storage service:" -msgstr "" -"システムユーザー swift をシステムグループ " -"ceilometer に追加して、Object Storage による Telemetry 設" -"定ファイルへのアクセス権を付与します。" - -msgid "" -"Add the user role to the demo project " -"and user:" -msgstr "" -"demo プロジェクトと demo ユーザーに " -"user ロールを追加します。" - -msgid "Add the Block Storage service" -msgstr "Block Storage Service の追加" - -msgid "Add the Compute service" -msgstr "Compute の追加" - -msgid "Add the Data processing service" -msgstr "Data processing の追加" - -msgid "Add the Database service" -msgstr "Database サービスの追加" - -msgid "Add the Identity service" -msgstr "Identity の追加" - -msgid "Add the Image service" -msgstr "Image サービスの追加" - -msgid "Add the Orchestration module" -msgstr "Orchestration モジュールの追加" - -msgid "Add the Telemetry module" -msgstr "Telemetry モジュールの追加" - -msgid "Add the dashboard" -msgstr "Dashboard の追加" - -msgid "Add the external bridge:" -msgstr "外部ブリッジを追加します。" - -msgid "Add the following lines to trove-guestagent.conf:" -msgstr "以下の行を trove-guestagent.conf に追加します。" - -msgid "Add the public key to your OpenStack environment:" -msgstr "公開鍵を OpenStack 環境に追加します。" - -msgid "Additional compute nodes should use 10.0.0.32, 10.0.0.33, and so on." -msgstr "追加のコンピュートノードは 10.0.0.32、10.0.0.33 などを使用すべきです。" - -msgid "Additional compute nodes should use 10.0.1.32, 10.0.1.33, and so on." -msgstr "追加のコンピュートノードは 10.0.1.32、10.0.1.33 などを使用すべきです。" - -msgid "" -"Additionally, you can allocate IP addresses on external networks to ports on " -"the internal network. Whenever something is connected to a subnet, that " -"connection is called a port. You can associate external network IP addresses " -"with ports to VMs. This way, entities on the outside network can access VMs." -msgstr "" -"さらに、内部ネットワークにたどり着くために外部ネットワークに IP アドレスを割" -"り当てることができます。何かがサブネットに接続されたとき必ず、その接続がポー" -"トと呼ばれます。外部ネットワークの IP アドレスを仮想マシンのポートに関連づけ" -"られます。このように、外部ネットワークのものが仮想マシンにアクセスできます。" - -msgid "Adjust ownership and permissions on this directory and the files in it:" -msgstr "このディレクトリーとその中のファイルの所有者と権限を適切に設定します。" - -msgid "" -"After installing the operating system on each node for the architecture that " -"you choose to deploy, you must configure the network interfaces. We " -"recommend that you disable any automated network management tools and " -"manually edit the appropriate configuration files for your distribution. For " -"more information on how to configure networking on your distribution, see " -"the documentation.documentation.documentation.SLES 12 or openSUSE documentation." -msgstr "" -"導入するアーキテクチャーに合わせて、各ノードにオペレーティングシステムをイン" -"ストールした後、ネットワークインターフェースを設定する必要があります。すべて" -"の自動ネットワーク管理ツールを無効化し、お使いのディストリビューションに合わ" -"せて適切な設定ファイルを手動で編集することを推奨します。お使いのディストリ" -"ビューションでネットワークを設定する方法に関する詳細は、ドキュメントドキュメントドキュメントSLES 12 また" -"は openSUSE " -"のドキュメントを参照してください。" - -msgid "After you create this file, run this command:" -msgstr "このファイルを作成した後、このコマンドを実行します。" - -msgid "" -"After you install and configure the dashboard, you can complete the " -"following tasks:" -msgstr "Dashboard をインストールして設定した後、以下の作業を実行します。" - -msgid "" -"All Debian packages for API services, except the heat-api " -"package, register the service in the Identity Service catalog. This feature " -"is helpful because API endpoints are difficult to remember." -msgstr "" -"すべての API サービス用の Debian パッケージは、heat-api " -"パッケージを除き、Identity Service カタログにサービスを登録します。API エンド" -"ポイントは覚えにくいので、この機能は役に立ちます。" - -msgid "" -"All OpenStack packages are written in Python. All packages support version " -"2.7; porting to Python version 3 is ongoing. Note that Debian Wheezy uses " -"Python 2.6 and 2.7, with Python 2.7 as the default interpreter; Sid has only " -"Python 2.7. There is one packaging change between these two. In Python 2.6, " -"you installed the python-argparse package separately. In " -"Python 2.7, this package is installed by default. Unfortunately, in Python " -"2.7, this package does not include Provides: python-argparse " -"directive." -msgstr "" -"OpenStack のパッケージはすべて Python で書かれています。すべてのパッケージが" -"バージョン 2.7 をサポートします。Python バージョン 3 への移植が進行中です。" -"Debian Wheezy は Python 2.6 と 2.7 を使用することに注意してください。デフォル" -"トのインタープリターとして Python 2.7 を使用します。Debian Sid は Python 2.7 " -"のみです。これら 2 つの間でパッケージ化の変更があります。Python 2.6 の場合、" -"個別に python-argparse パッケージをインストールします。" -"Python 2.7 の場合、このパッケージが標準でインストールされています。残念なが" -"ら、Python 2.7 の場合、このパッケージに Provides: python-argparse ディレクティブが含まれません。" - -msgid "" -"All configuration files should be placed at the /etc/trove directory. Edit the following configuration files, taking the " -"below actions for each file:" -msgstr "" -"すべての設定ファイルは、/etc/trove に置く必要がありま" -"す。以下の設定ファイルを編集して、各ファイルに対して以下の操作を実行します。" - -msgid "Allow all hosts to access the dashboard:" -msgstr "すべてのホストがダッシュボードにアクセスすることを許可します。" - -msgid "" -"Also add this content to the /etc/hosts file on all " -"other nodes in your environment." -msgstr "" -"お使いの環境のすべてのノードにおいて /etc/hosts ファイル" -"にこの内容も追加します。" - -msgid "" -"Alternatively, if you do not want to install this package, run this script " -"to enable remote root access:" -msgstr "" -"代わりに、このパッケージをインストールしたくなければ、リモート root アクセス" -"を有効化するために、このスクリプトを実行します。" - -msgid "" -"Although most environments include Identity, Image service, Compute, at " -"least one networking service, and the dashboard, the Object Storage service " -"can operate independently. If your use case only involves Object Storage, " -"you can skip to after configuring the " -"appropriate nodes for it. However, the dashboard requires at least the Image " -"service and Compute." -msgstr "" -"ほとんどの環境には、Identity、Image service、Compute、少なくとも 1 つのネット" -"ワークサービス、ダッシュボードがありますが、Object Storage は他のほとんどの" -"サービスと独立して動作できます。Object Storage のみを使用するユースケースの場" -"合、適切なノードを設定した後に まで進めます。し" -"かしながらダッシュボードは、少なくとも Image service と Compute を必要としま" -"す。" - -msgid "" -"An instance is a VM that OpenStack provisions on a compute node. This guide " -"shows you how to launch a minimal instance using the CirrOS image that you added to your environment in the chapter. In these steps, you use the command-line interface " -"(CLI) on your controller node or any system with the appropriate OpenStack " -"client libraries. To use the dashboard, see the OpenStack User " -"Guide." -msgstr "" -"インスタンスは、OpenStack がコンピュートノードに展開する仮想マシンです。この" -"ガイドは、CirrOS イメージを使用して、最小のインスタン" -"スを起動する方法を示します。このイメージは、の章" -"でお使いの環境に追加します。これらの手順で、コントローラーノード、または適切" -"な OpenStack クライアントライブラリを持つシステムで CLI を使用します。ダッ" -"シュボードを使用する場合、OpenStack エンドユーザーガイド を参照してください。" - -msgid "" -"Another way to disable the debconf package is to prefix the command with " -"DEBIAN_FRONTEND=noninteractive, as follows:" -msgstr "" -"debconf を無効化する別の方法は、以" -"下のように コマンドに " -"DEBIAN_FRONTEND=noninteractive を付けることです。" - -msgid "" -"Any given Networking set up has at least one external network. Unlike the " -"other networks, the external network is not merely a virtually defined " -"network. Instead, it represents a view into a slice of the physical, " -"external network accessible outside the OpenStack installation. IP addresses " -"on the external network are accessible by anybody physically on the outside " -"network. Because the external network merely represents a view into the " -"outside network, DHCP is disabled on this network." -msgstr "" -"すべての Networking 環境は少なくとも 1 つの外部ネットワークを持ちます。外部" -"ネットワークは、他のネットワークと異なり、仮想的に定義されたネットワークでは" -"ありません。これは OpenStack インストール環境の外部からアクセス可能な物理外部" -"ネットワークの一部のビューであることを意味します。外部ネットワークの IP アド" -"レスは外部ネットワークにある何らかの物理的なものによりアクセスできます。外部" -"ネットワークがほとんど外部ネットワークの一部を表すため、DHCP はこのネットワー" -"クで無効化されます。" - -msgid "" -"Any roles that you create must map to roles specified in the " -"policy.json file in the configuration file directory of " -"each OpenStack service. The default policy for most services grants " -"administrative access to the admin role. For more " -"information, see the Operations Guide - Managing Projects and " -"Users." -msgstr "" -"作成したロールは、各 OpenStack サービスの設定ファイルディレクトリーにある " -"policy.json ファイルに指定されたロールに対応付ける必要が" -"あります。ほとんどのサービスに対するデフォルトのポリシーは、管理アクセス権を " -"admin ロールに付与します。詳細は、Operations Guide - Managing Projects and Users を参照してください。" - -msgid "Architecture" -msgstr "アーキテクチャー" - -msgid "" -"As an example, here are screenshots from the cinder-common package:" -msgstr "" -"例えば、これは cinder-common パッケージのスクリーンショッ" -"トです。" - -msgid "" -"As the admin user, list projects to verify that the " -"admin user can execute CLI commands and that the Identity " -"service contains the projects created by the configuration tool:" -msgstr "" -"admin ユーザーとしてプロジェクトを一覧表示して、" -"admin ユーザーが CLI コマンドを実行でき、設定ツールにより" -"作成されたプロジェクトが Identity に登録されていることを確認します。" - -msgid "" -"As the admin user, list projects to verify that the " -"admin user can execute admin-only CLI commands and that " -"the Identity service contains the projects that you created in :" -msgstr "" -"admin ユーザーとしてプロジェクトを一覧表示して、" -"admin ユーザーが管理者専用 CLI コマンドを実行でき、 において作成したプロジェクトが Identity に登録さ" -"れていることを確認します。" - -msgid "" -"As the admin user, list roles to verify that the Identity " -"service contains the role created by the configuration tool:" -msgstr "" -"admin ユーザーとしてロールを一覧表示して、設定ツールにより" -"作成されたロールが Identity に登録されていることを確認します。" - -msgid "" -"As the admin user, list roles to verify that the Identity " -"service contains the role that you created in :" -msgstr "" -"admin ユーザーとして、ロールを一覧表示して、 で作成したロールが Identity サービスに含まれることを検証" -"します。" - -msgid "" -"As the admin user, list users to verify that the Identity " -"service contains the users created by the configuration tool:" -msgstr "" -"admin ユーザーとしてユーザーを一覧表示して、設定ツールによ" -"り作成されたユーザーが Identity に登録されていることを確認します。" - -msgid "" -"As the admin user, list users to verify that the Identity " -"service contains the users that you created in :" -msgstr "" -"admin ユーザーとして、ユーザーを一覧表示して、 で作成したユーザーが Identity サービスに含まれる" -"ことを検証します。" - -msgid "" -"As the admin user, request an authentication token from " -"the Identity version 2.0 API:" -msgstr "" -"admin ユーザーとして、Identity バージョン 2.0 API から管理" -"トークンを要求します。" - -msgid "" -"As the demo user, attempt to list users to verify that it " -"cannot execute admin-only CLI commands:" -msgstr "" -"demo ユーザーとしてユーザーを一覧表示しようとして、管理者" -"専用 CLI コマンドを実行できないことを確認します。" - -msgid "" -"As the demo user, request an authentication token from " -"the Identity version 3 API:" -msgstr "" -"demo ユーザーとして、Identity バージョン 3 API から管理" -"トークンを要求します。" - -msgid "Assigned during package installation" -msgstr "パッケージインストール中の割り当て" - -msgid "Associate the floating IP address with your instance:" -msgstr "Floating IP アドレスをインスタンスに割り当てます。" - -msgid "" -"Assuming you have created an image for the type of database you want, and " -"have updated the datastore to use that image, you can now create a trove " -"instance (Database service). To do this, use the trove " -"command." -msgstr "" -"使用したいデータベースの種類に応じたイメージを作成し、そのイメージを使用する" -"ためにデータストアを更新したことを仮定すると、trove インスタンス (Database " -"service) を作成できます。このために、trove コマンドを使用し" -"ます。" - -msgid "" -"Attach the demo-volume1 volume to the demo-" -"instance1 instance:" -msgstr "" -"demo-volume1 ボリュームを demo-instance1 インスタンスに接続します。" - -msgid "Attach the router to the demo tenant subnet:" -msgstr "ルーターを demo テナントサブネットに接続します。" - -msgid "Attach the router to the external network by setting it as the gateway:" -msgstr "外部ネットワークをゲートウェイとして設定し、ルーターに接続します。" - -msgid "" -"Authenticate using admin or demo user " -"credentials." -msgstr "" -"admin または demo ユーザーのクレデン" -"シャルを用いて認証します。" - -msgid "" -"Back-end names are arbitrary. As an example, this guide uses the name of the " -"driver as the name of the back end." -msgstr "" -"バックエンドの名前は任意です。このガイドは、例としてバックエンドの名前にドラ" -"イバー名を使用します。" - -msgid "Basic environment" -msgstr "基本環境" - -msgid "" -"Because most OpenStack services must access the Identity Service, you must " -"configure the IP address of the keystone server to be able to " -"access it. You must also configure the admin_tenant_name, " -"admin_user, and admin_password options for each " -"service to work." -msgstr "" -"多くの OpenStack サービスは Identity Service にアクセスする必要があるので、ア" -"クセスできるように keystone サーバーの IP アドレスを設定する必要" -"があります。各サービスを動作させるために admin_tenant_name、" -"admin_useradmin_password オプションも設定する必要" -"があります。" - -msgid "" -"Because the packages are maintained in Sid where the Provides: python-" -"argparse directive causes an error, and the Debian OpenStack " -"maintainer wants to maintain one version of the OpenStack packages, you must " -"manually install the python-argparse on each OpenStack " -"system that runs Debian Wheezy before you install the other OpenStack " -"packages. Use the following command to install the package:" -msgstr "" -"パッケージは Provides: python-argparse ディレクティブがエラーと" -"なる Sid でメンテナンスされていて、Debian OpenStack メンテナーは一つのバー" -"ジョンの OpenStack パッケージをメンテナンスしたいので、Debian Wheezy を実行し" -"ている OpenStack システムに他の OpenStack パッケージをインストールする前に、" -"各システムに python-argparse を手動でインストールする必要" -"があります。パッケージをインストールするために以下のコマンドを使用します。" - -msgid "" -"Because this configuration uses a SQL database server, you can remove the " -"SQLite database file:" -msgstr "" -"この設定は SQL データベースサーバーを使用するため、SQLite データベースファイ" -"ルを削除できます。" - -msgid "" -"Before launching your first instance, you must create the necessary virtual " -"network infrastructure to which the instance will connect. This network " -"typically provides Internet access from instances. You " -"can enable Internet access to individual instances " -"using a floating IP address and suitable " -"security group rules. The admin " -"tenant owns this network because it provides external network access for " -"multiple tenants." -msgstr "" -"インスタンスの起動前に、インスタンスが接続するために必要な仮想ネットワークを" -"作成する必要があります。このネットワークは、一般的にインスタンスか" -"らインターネットにアクセスできます。Floating IP アドレスセキュリティグループルールを使用し" -"て、個々のインスタンスへとインターネットからアクセス可能" -"にできます。admin プロジェクトは、複数のプロジェクトに対し" -"て外部ネットワークを提供するため、このネットワークを所有します。" - -msgid "" -"Before launching your first instance, you must create the necessary virtual " -"network infrastructure to which the instances connect, including the external network and " -"tenant network. See " -". After creating " -"this infrastructure, we recommend that you verify connectivity and resolve any issues before " -"proceeding further. provides a basic architectural overview of the components that " -"Networking implements for the initial networks and shows how network traffic " -"flows from the instance to the external network or Internet." -msgstr "" -"初めてのインスタンスを起動する前に、インスタンスが接続するために必要な仮想" -"ネットワークを作成する必要があります。これには、 外部ネットワークとプロジェクトネットワークがありま" -"す。を参照してくだ" -"さい。このネットワークの作成後、接続性を検証し、続行する前にすべての問題を解決することを推奨" -"します。 は、" -"Networking が初期ネットワークのために実装するコンポーネントの基本的なアーキテ" -"クチャー概要を提供します。また、ネットワーク通信がどのようにインスタンスから" -"外部ネットワークやインターネットに流れるのかを説明します。" - -msgid "Before you begin" -msgstr "始める前に" - -msgid "" -"Before you configure the OpenStack Identity service, you must create a " -"database and an administration token." -msgstr "" -"OpenStack Identity を設定する前に、データベースと管理トークンを作成する必要が" -"あります。" - -msgid "" -"Before you configure the OpenStack Networking (neutron) service, you must " -"create a database, service credentials, and API endpoint." -msgstr "" -"OpenStack Networking (neutron) を設定する前に、データベース、サービスクレデン" -"シャル、API エンドポイントを作成する必要があります。" - -msgid "" -"Before you install and configure OpenStack Networking, you must configure " -"certain kernel networking parameters." -msgstr "" -"OpenStack Networking をインストールして設定する前に、カーネルのネットワークパ" -"ラメーターを設定する必要があります。" - -msgid "" -"Before you install and configure Orchestration, you must create a database, " -"service credentials, and API endpoints." -msgstr "" -"Orchestration をインストールして設定する前に、データベース、サービスクレデン" -"シャル、API エンドポイントを作成する必要があります。" - -msgid "" -"Before you install and configure Telemetry, you must install " -"MongoDB, create a MongoDB database, service " -"credentials, and API endpoint." -msgstr "" -"Telemetry をインストールして設定する前に、MongoDB " -"をインストールして、MongoDB データベース、サービスクレデンシャル、API エンド" -"ポイントを作成する必要があります。" - -msgid "" -"Before you install and configure Telemetry, you must install " -"MongoDB." -msgstr "" -"Telemetry をインストールし、設定する前に、MongoDB " -"をインストールする必要があります。" - -msgid "" -"Before you install and configure the Block Storage service, you must create " -"a database, service credentials, and API endpoint." -msgstr "" -"Block Storage サービスをインストールして設定する前に、データベース、サービス" -"クレデンシャル、API エンドポイントを作成する必要があります。" - -msgid "" -"Before you install and configure the Compute service, you must create a " -"database, service credentials, and API endpoint." -msgstr "" -"Compute をインストールして設定する前に、データベース、サービスクレデンシャ" -"ル、API エンドポイントを作成する必要があります。" - -msgid "" -"Before you install and configure the Image service, you must create a " -"database, service credentials, and API endpoint." -msgstr "" -"Image service をインストールして設定する前に、データベース、サービスクレデン" -"シャル、API エンドポイントを作成する必要があります。" - -msgid "" -"Before you proceed, ensure that the controller node has at least several " -"gigabytes of space available in this directory." -msgstr "" -"続行する前に、コントローラーノードがこのディレクトリに少なくとも数ギガバイト" -"の空き容量を持っていることを確認します。" - -msgid "" -"By default in Debian, you can access the MySQL server from either localhost " -"through the socket file or 127.0.0.1. To access it over the network, you " -"must edit the /etc/mysql/my.cnf file, and the " -"mysql.user table. To do so, Debian provides a helper " -"script in the openstack-deploy package. To use it, " -"install the package and run:" -msgstr "" -"Debian の場合デフォルトで、ソケットファイルを使用してローカルホスト、または " -"127.0.0.1 のみから、MySQL サーバーにアクセスできます。ネットワーク経由でアク" -"セスする場合、ユーザーは /etc/mysql/my.cnf ファイルと " -"mysql.user テーブルを編集する必要があります。このために、" -"Debian は openstack-deploy パッケージでヘルパースクリプト" -"を提供しています。使用する場合、このパッケージをインストールし、以下を実行し" -"ます。" - -msgid "" -"By default, dbconfig-common does not provide access to " -"database servers over a network. If you want the dbconfig-common package to prompt for remote database servers that are accessed " -"over a network and not through a UNIX socket file, reconfigure it, as " -"follows:" -msgstr "" -"dbconfig-common はデフォルトで、ネットワーク経由でデータ" -"ベースサーバーへのアクセスを提供しません。UNIX ソケットファイル経由ではなく、" -"ネットワーク経由でアクセスさせるリモートデータベースサーバーに対して、" -"dbconfig-common パッケージにプロンプトさせたい場合、以下の" -"ように再設定します。" - -msgid "" -"By default, Compute uses an internal firewall service. Since Networking " -"includes a firewall service, you must disable the Compute firewall service " -"by using the nova.virt.firewall.NoopFirewallDriver " -"firewall driver." -msgstr "" -"デフォルトで、Compute は内部ファイアウォールサービスを使用します。Networking " -"がファイアウォールサービスを含むため、nova.virt.firewall." -"NoopFirewallDriver ファイアウォールドライバーを使用して、Compute の" -"ファイアウォールサービスを無効化する必要があります。" - -msgid "" -"By default, SLES and openSUSE use a SQL database for session storage. For " -"simplicity, we recommend changing the configuration to use " -"memcached for session storage." -msgstr "" -"SLES と openSUSE は、デフォルトでセッションストレージに SQL データベースを使" -"用します。簡単のため、セッションストレージに memcached を使用するよう設定変更することを推奨します。" - -msgid "" -"By default, distribution packages configure Compute to use legacy " -"networking. You must reconfigure Compute to manage networks through " -"Networking." -msgstr "" -"ディストリビューションのパッケージは、Compute がレガシーネットワークを使用す" -"るようデフォルトで設定されます。Compute が Networking 経由でネットワークを管" -"理するよう再設定する必要があります。" - -msgid "" -"By default, the dbconfig-common package configures the " -"OpenStack services to use SQLite. So if you use debconf " -"in non-interactive mode and without pre-seeding, the OpenStack services that " -"you install will use SQLite." -msgstr "" -"dbconfig-common パッケージはデフォルトで、OpenStack サービ" -"スが SQLite を使用するよう設定します。そのため、debconf を" -"非対話モードで事前シードせずに利用した場合、インストールした OpenStack サービ" -"スが SQLite を使用します。" - -msgid "" -"By default, the Identity service stores expired tokens in the SQL database " -"indefinitely. The accumulation of expired tokens considerably increases the " -"database size and degrades performance over time, particularly in " -"environments with limited resources." -msgstr "" -"Identity は、デフォルトで期限切れのトークンを SQL データベースに永続的に保持" -"します。期限切れトークンの蓄積により、データベースの容量が大きくなり、時間が" -"経つと性能が劣化します。とくにリソースが限られている場合に顕著でしょう。" - -msgid "By default, the Ubuntu packages create a SQLite database." -msgstr "Ubuntu パッケージは、デフォルトで SQLite データベースを作成します。" - -msgid "By default, the Ubuntu packages create an SQLite database." -msgstr "Ubuntu パッケージは、デフォルトで SQLite データベースを作成します。" - -msgid "" -"By default, the Ubuntu packages create an SQLite database. Because this " -"configuration uses a SQL database server, remove the SQLite database file:" -msgstr "" -"Ubuntu のパッケージは、デフォルトで SQLite データベースを作成します。この設定" -"は SQL データベースサーバーを使用するため、SQLite データベースファイルを削除" -"します。" - -msgid "" -"By default, the controller node synchronizes the time via a pool of public " -"servers. However, you can optionally edit the /etc/ntp.conf file to configure alternative servers such as those provided by " -"your organization." -msgstr "" -"コントローラーノードはデフォルトで、パブリックなサーバープール経由で時刻同期" -"します。しかしながらオプションとして、自組織により提供されるサーバーを参照す" -"るために、/etc/ntp.conf ファイルを編集することもできま" -"す。" - -msgid "CEILOMETER_DBPASS" -msgstr "CEILOMETER_DBPASS" - -msgid "CEILOMETER_PASS" -msgstr "CEILOMETER_PASS" - -msgid "CINDER_DBPASS" -msgstr "CINDER_DBPASS" - -msgid "CINDER_PASS" -msgstr "CINDER_PASS" - -msgid "CentOS and Fedora do not require these repositories." -msgstr "CentOS と Fedora は、これらのリポジトリーが必要ありません。" - -msgid "Change to the /etc/swift directory." -msgstr "/etc/swift ディレクトリーに移動します。" - -msgid "Check the status of your floating IP address:" -msgstr "Floating IP アドレスの状態を確認します。" - -msgid "Check the status of your instance:" -msgstr "インスタンスの状態を確認します。" - -msgid "Choose a suitable password for the database root account." -msgstr "データベースの root アカウントに適切なパスワードを選択します。" - -msgid "" -"Comment out any auth_host, auth_port, " -"and auth_protocol options because the " -"identity_uri option replaces them." -msgstr "" -"identity_uri オプションにより置き換えられるので、" -"auth_hostauth_port、" -"auth_protocol オプションをコメントアウトします。" - -msgid "Comment out any other session storage configuration." -msgstr "他のすべてのセッションストレージ設定をコメントアウトします。" - -msgid "" -"Comment out or remove all but one server key and change " -"it to reference the controller node." -msgstr "" -"1 つの server キー以外をすべてコメントアウトまたは削除しま" -"す。このキーは、コントローラーノードを参照するよう変更します。" - -msgid "" -"Comment out or remove any other options in the [filter:authtoken] section." -msgstr "" -"[filter:authtoken] セクションにおいて、他のすべてのオプ" -"ションをコメントアウトまたは削除します。" - -msgid "" -"Comment out or remove any other options in the " -"[keystone_authtoken] section." -msgstr "" -"[keystone_authtoken] セクションにある他のオプションは、コ" -"メントアウトまたは削除します。" - -msgid "Complete OpenStack environments already include some of these packages." -msgstr "完全な OpenStack 環境は、これらのいくつかのパッケージを持ちます。" - -msgid "Compute Node: 1 processor, 2 GB memory, and 10 GB storage" -msgstr "コンピュートノード: 1 CPU、2 GB メモリ、10 GB ストレージ" - -msgid "Compute node" -msgstr "コンピュートノード" - -msgid "Conceptual architecture" -msgstr "概念アーキテクチャー" - -msgid "" -"Configure user as the default role for users that you " -"create via the dashboard:" -msgstr "" -"ダッシュボード経由で作成するユーザーのデフォルトロールとして user を設定します。" - -msgid "Configure OpenStack with debconf" -msgstr "debconf を用いた OpenStack の設定" - -msgid "Configure compute node" -msgstr "コンピュートノードの設定" - -msgid "Configure controller node" -msgstr "コントローラーノードの設定" - -msgid "Configure hashes and default storage policy" -msgstr "ハッシュとデフォルトのストレージポリシーの設定" - -msgid "Configure shared items on both storage nodes:" -msgstr "両方のノードにおいて、共有する項目を設定します。" - -msgid "" -"Configure the memcached session storage service:" -msgstr "" -"memcached セッションストレージサービスを設定しま" -"す。" - -msgid "" -"Configure the bind_ip key to use the management interface " -"IP address of the controller node." -msgstr "" -"bind_ip キーを設定し、コントローラーノードの管理インター" -"フェース IP アドレスを使用します。" - -msgid "Configure the Block Storage service" -msgstr "Block Storage の設定" - -msgid "Configure the Compute service" -msgstr "Compute の設定" - -msgid "Configure the Compute service to send notifications to the message bus." -msgstr "Compute を設定して、メッセージバスに通知を送信します。" - -msgid "" -"Configure the Database service to use the RabbitMQ message broker by setting " -"the following options in the [DEFAULT] configuration " -"group of each file:" -msgstr "" -"各ファイルの [DEFAULT] 設定グループに以下のオプションを設" -"定することにより、Database サービスを設定して、RabbitMQ メッセージブローカー" -"を使用します。" - -msgid "Configure the Image service" -msgstr "Image サービスの設定" - -msgid "Configure the Object Storage service" -msgstr "Object Storage の設定" - -msgid "Configure the authentication token:" -msgstr "認証トークンを設定します。" - -msgid "" -"Configure the dashboard to use OpenStack services on the " -"controller node:" -msgstr "" -"コントローラーノードで OpenStack のサービスを使用するため" -"に、ダッシュボードを設定します。" - -msgid "Configure the database with dbconfig-common" -msgstr "dbconfig-common を用いたデータベースの設定" - -msgid "Configure the endpoint URL:" -msgstr "エンドポイント URL を設定します。" - -msgid "Configure the first interface as the management interface:" -msgstr "管理インターフェースとして 1 番目のインターフェースを設定します。" - -msgid "Configure the initial administration token:" -msgstr "初期管理トークンを設定します。" - -msgid "Configure the management interface:" -msgstr "管理インターフェースを設定します。" - -msgid "" -"Configure the network and compute nodes to reference the controller node." -msgstr "" -"ネットワークノードとコンピュートノードがコントローラーノードを参照するよう設" -"定します。" - -msgid "Configure the second interface as the instance tunnels interface:" -msgstr "" -"インスタンスのトンネルインターフェースとして 2 番目のインターフェースを設定し" -"ます。" - -msgid "Configure the web server:" -msgstr "Web サーバーを設定します。" - -msgid "Configure unique items on the first storage node:" -msgstr "1 番目のノードにおいて、一意な項目を設定します。" - -msgid "Configure unique items on the second storage node:" -msgstr "2 番目のノードにおいて、一意な項目を設定します。" - -msgid "Confirm upload of the image and validate attributes:" -msgstr "イメージがアップロードされたことを確認し、属性を検証します。" - -msgid "Container ring" -msgstr "コンテナーリング" - -msgid "" -"Contents in the condition column should indicate " -"sys.peer for at least one server." -msgstr "" -"condition 列の内容は、少なくとも 1 つのサーバーの " -"sys.peer を意味するでしょう。" - -msgid "" -"Contents in the condition column should indicate " -"sys.peer." -msgstr "" -"condition 列の内容は、sys.peer を意味" -"するでしょう。" - -msgid "" -"Contents in the refid column typically reference IP " -"addresses of upstream servers." -msgstr "" -"refid 列の内容は、一般的に上位のサーバーの IP アドレスを" -"参照します。" - -msgid "" -"Contents in the remote column should indicate the " -"hostname of the controller node." -msgstr "" -"remote 列の内容は、コントローラーノードのホスト名を意味" -"するでしょう。" - -msgid "" -"Contents in the remote column should indicate the " -"hostname or IP address of one or more NTP servers." -msgstr "" -"remote 列の内容は、1 つ以上の NTP サーバーのホスト名や " -"IP アドレスを意味するでしょう。" - -msgid "Controller Node: 1 processor, 2 GB memory, and 5 GB storage" -msgstr "コントローラーノード: 1 CPU、2 GB メモリ、5 GB ストレージ" - -msgid "Controller node" -msgstr "コントローラーノード" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1212900. -msgid "" -"Copy the /usr/share/cinder/cinder-dist.conf file to " -"/etc/cinder/cinder.conf." -msgstr "" -"/usr/share/cinder/cinder-dist.conf ファイルを " -"/etc/cinder/cinder.conf にコピーします。" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1213476. -msgid "" -"Copy the /usr/share/heat/heat-dist.conf file to " -"/etc/heat/heat.conf." -msgstr "" -"/usr/share/heat/heat-dist.conf ファイルを /" -"etc/heat/heat.conf にコピーします。" - -msgid "" -"Copy the account.ring.gz, container.ring.gz, and object.ring.gz files to the /" -"etc/swift directory on each storage node and any additional nodes " -"running the proxy service." -msgstr "" -"各ストレージノード、プロキシーサービスを実行している追加ノードにおいて、 " -"account.ring.gz ファイル、container.ring.gz ファイル、object.ring.gz ファイルを /" -"etc/swift ディレクトリーにコピーします。" - -msgid "" -"Copy the swift.conf file to the /etc/swift directory on each storage node and any additional nodes running the " -"proxy service." -msgstr "" -"各ストレージノード、プロキシーサービスを実行している追加ノードにおいて、 " -"swift.conf ファイルを /etc/swift ディ" -"レクトリーにコピーします。" - -msgid "" -"Copy the WSGI components from the upstream repository into this directory:" -msgstr "" -"WSGI コンポーネントをアップストリームのディレクトリーからこのディレクトリーに" -"コピーします。" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node and add the following to it:" -msgstr "" -"コントローラーノードから /etc/hosts の内容をコピーし、以" -"下の内容を追加します。" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node to the storage node and add the following to it:" -msgstr "" -"コントローラーノードから /etc/hosts の内容をストレージ" -"ノードにコピーし、以下の内容を追加します。" - -msgid "Copyright details are filled in by the template." -msgstr "Copyright details are filled in by the template." - -msgid "Create OpenStack client environment scripts" -msgstr "OpenStack クライアント環境スクリプトの作成" - -msgid "Create a 1 GB volume:" -msgstr "1 GB ボリュームを作成します。" - -msgid "" -"Create a floating IP address on the ext-net external network:" -msgstr "" -"ext-net 外部ネットワークに Floating IP アドレス を作成します。" - -msgid "Create a cinder user:" -msgstr "cinder ユーザーを作成します。" - -msgid "" -"Create a datastore. You need to create a separate datastore for each type of " -"database you want to use, for example, MySQL, MongoDB, Cassandra. This " -"example shows you how to create a datastore for a MySQL database:" -msgstr "" -"データストアを作成します。使用したいデータベースの種類に応じて、別々のデータ" -"ストアを作成する必要があります。例えば、MySQL、MongoDB、Cassandra です。この" -"例は、MySQL データベース用のデータストアを作成する方法です。" - -msgid "Create a temporary local directory:" -msgstr "一時ローカルディレクトリーを作成します。" - -msgid "" -"Create a test template in the test-stack.yml file with " -"the following content:" -msgstr "" -"以下の内容を持つ test-stack.yml ファイルにテストテンプ" -"レートを作成します。" - -msgid "Create a trove image." -msgstr "trove イメージを作成します。" - -msgid "" -"Create an administrative project, user, and role for administrative " -"operations in your environment:" -msgstr "" -"お使いの環境における管理作業のために、管理プロジェクト、ユーザー、ロールを作" -"成します。" - -msgid "" -"Create an image for the type of database you want to use, for example, " -"MySQL, MongoDB, Cassandra." -msgstr "" -"使用したいデータベースの種類に応じてイメージを作成します。例えば、MySQL、" -"MongoDB、Cassandra です。" - -msgid "" -"Create and edit the /etc/my.cnf.d/mariadb_openstack.cnf " -"file and complete the following actions:" -msgstr "" -"/etc/my.cnf.d/mariadb_openstack.cnf ファイルを作成し、編" -"集し、以下の作業を実行します。" - -msgid "" -"Create and edit the /etc/mysql/conf.d/mysqld_openstack.cnf file and complete the following actions:" -msgstr "" -"/etc/mysql/conf.d/mysqld_openstack.cnf ファイルを作成" -"し、編集し、以下の作業を実行します。" - -msgid "" -"Create and edit the /etc/neutron/dnsmasq-neutron.conf " -"file and complete the following action:" -msgstr "" -"/etc/neutron/dnsmasq-neutron.conf ファイルを作成し、編集" -"し、以下の作業を実行します。" - -msgid "" -"Create client environment scripts for the admin and " -"demo projects and users. Future portions of this guide " -"reference these scripts to load appropriate credentials for client " -"operations." -msgstr "" -"admin および demo のプロジェクトとユー" -"ザーのクライアント環境スクリプトを作成します。このガイドの以降は、これらのス" -"クリプトを参照して、クライアント操作に適切なクレデンシャルを読み込みます。" - -msgid "Create database schema: " -msgstr "データベーススキーマを作成します。" - -msgid "Create initial network" -msgstr "初期ネットワークの作成" - -msgid "Create initial networks" -msgstr "初期ネットワークの作成" - -msgid "Create initial rings" -msgstr "初期リングの作成" - -msgid "Create projects, users, and roles" -msgstr "プロジェクト・ユーザー・ロールの作成" - -msgid "" -"Create the /etc/apache2/sites-available/wsgi-" -"keystone.conf/etc/httpd/conf." -"d/wsgi-keystone.conf/etc/apache2/" -"conf.d/wsgi-keystone.conf file with the following content:" -msgstr "" -"以下の内容で /etc/apache2/sites-available/wsgi-" -"keystone.conf/etc/httpd/conf." -"d/wsgi-keystone.conf/etc/apache2/" -"conf.d/wsgi-keystone.conf ファイルを作成します。" - -msgid "Create the /etc/swift directory." -msgstr "/etc/swift ディレクトリーを作成します。" - -msgid "Create the ResellerAdmin role:" -msgstr "ResellerAdmin ロールを作成します。" - -msgid "Create the admin project:" -msgstr "admin プロジェクトを作成します。" - -msgid "Create the admin role:" -msgstr "admin ロールを作成します。" - -msgid "Create the admin tenant and user:" -msgstr "admin プロジェクトとユーザーを作成します。" - -msgid "Create the admin user:" -msgstr "admin ユーザーを作成します。" - -msgid "Create the ceilometer database:" -msgstr "ceilometer データベースを作成します。" - -msgid "Create the ceilometer service entity:" -msgstr "ceilometer サービスエンティティーを作成します。" - -msgid "Create the ceilometer user:" -msgstr "ceilometer ユーザーを作成します。" - -msgid "Create the cinder database:" -msgstr "cinder データベースを作成します。" - -msgid "Create the cinder service entities:" -msgstr "cinder サービスエンティティーを作成します。" - -msgid "Create the demo project:" -msgstr "demo プロジェクトを作成します。" - -msgid "Create the demo user:" -msgstr "demo ユーザーを作成します。" - -msgid "Create the glance database:" -msgstr "glance データベースユーザーを作成します。" - -msgid "Create the glance service entity:" -msgstr "glance サービスエンティティーを作成します。" - -msgid "Create the glance user:" -msgstr "glance ユーザーを作成します。" - -msgid "" -"Create the heat and heat-cfn service " -"entities:" -msgstr "" -"heatheat-cfn サービスエンティティー" -"を作成します。" - -msgid "Create the heat database:" -msgstr "heat データベースを作成します。" - -msgid "Create the heat user:" -msgstr "heat ユーザーを作成します。" - -msgid "Create the heat_stack_owner role:" -msgstr "heat_stack_owner ロールを作成します。" - -msgid "Create the heat_stack_user role:" -msgstr "heat_stack_user ロールを作成します。" - -msgid "Create the keystone database:" -msgstr "keystone データベースを作成します。" - -msgid "Create the neutron database:" -msgstr "neutron データベースを作成します。" - -msgid "Create the neutron service entity:" -msgstr "neutron サービスエンティティーを作成します。" - -msgid "Create the neutron user:" -msgstr "neutron ユーザーを作成します。" - -msgid "Create the nova database:" -msgstr "nova データベースを作成します。" - -msgid "Create the nova service entity:" -msgstr "nova サービスエンティティーを作成します。" - -msgid "Create the nova user:" -msgstr "nova ユーザーを作成します。" - -msgid "" -"Create the recon directory and ensure proper ownership of " -"it:" -msgstr "" -"recon ディレクトリーを作成し、適切な所有権を持つことを確認" -"します。" - -msgid "Create the sahara database:" -msgstr "sahara データベースを作成します。" - -msgid "Create the sahara service entity:" -msgstr "sahara サービスエンティティーを作成します。" - -msgid "Create the sahara user:" -msgstr "sahara ユーザーを作成します。" - -msgid "Create the service project:" -msgstr "service プロジェクトを作成します。" - -msgid "Create the swift service entity:" -msgstr "swift サービスエンティティーを作成します。" - -msgid "Create the swift user:" -msgstr "swift ユーザーを作成します。" - -msgid "Create the trove user:" -msgstr "trove ユーザーを作成します。" - -msgid "Create the user role:" -msgstr "user ロールを作成します。" - -msgid "Create the Block Storage service API endpoints:" -msgstr "Block Storage サービス API エンドポイントを作成します。" - -msgid "Create the Compute service API endpoint:" -msgstr "Compute サービス API エンドポイントを作成します。" - -msgid "Create the Data processing service API endpoint:" -msgstr "Data processing サービス API エンドポイントを作成します。" - -msgid "Create the Database service API endpoint:" -msgstr "Database サービス API エンドポイントを作成します。" - -msgid "Create the Identity service API endpoint:" -msgstr "Identity サービス API エンドポイントを作成します。" - -msgid "Create the Identity service endpoints" -msgstr "Identity サービスエンドポイントの作成" - -msgid "Create the Image service API endpoint:" -msgstr "Image サービス API エンドポイントを作成します。" - -msgid "Create the LVM physical volume /dev/sdb1:" -msgstr "LVM 物理ボリューム /dev/sdb1 を作成します。" - -msgid "Create the LVM volume group cinder-volumes:" -msgstr "" -"LVM ボリュームグループ cinder-volumes を作成します。" - -msgid "Create the Networking service API endpoint:" -msgstr "Networking サービス API エンドポイントを作成します。" - -msgid "Create the Object Storage service API endpoint:" -msgstr "Object Storage service API エンドポイントを作成します。" - -msgid "Create the Orchestration service API endpoints:" -msgstr "Orchestration サービス API エンドポイントを作成します。" - -msgid "Create the Telemetry module API endpoint:" -msgstr "Telemetry モジュール API エンドポイントを作成します。" - -msgid "Create the base account.builder file:" -msgstr "ベースの account.builder ファイルを作成します。" - -msgid "Create the base container.builder file:" -msgstr "ベースの container.builder ファイルを作成します。" - -msgid "Create the base object.builder file:" -msgstr "ベースの object.builder ファイルを作成します。" - -msgid "Create the directory structure for the WSGI components:" -msgstr "WSGI コンポーネント用のディレクトリー構造を作成します。" - -msgid "Create the heat domain in Identity service:" -msgstr "Identity に heat ドメインを作成します。" - -msgid "Create the mount point directory structure:" -msgstr "マウントポイントとなるディレクトリーを作成します。" - -msgid "Create the network:" -msgstr "ネットワークを作成します。" - -msgid "Create the router:" -msgstr "ルーターを作成します。" - -msgid "Create the service entity and API endpoint" -msgstr "サービスエンティティと API エンドポイントの作成" - -msgid "Create the service entity for the Identity service:" -msgstr "Identity サービス用のサービスエンティティを作成します。" - -msgid "Create the subnet:" -msgstr "サブネットを作成します。" - -msgid "" -"Customize your dashboard. See section Customize the dashboard in the OpenStack Cloud Administrator Guide for " -"information on setting up colors, logos, and site titles." -msgstr "" -"Dashboard のカスタマイズ。カラー、ロゴ、サイトタイトルの設定は、OpenStack クラウド管理者ガイドDashboard のカスタマイズセク" -"ションを参照してください。" - -msgid "DBNAME" -msgstr "DBNAME" - -msgid "DEMO_NET_ID" -msgstr "DEMO_NET_ID" - -msgid "DEMO_PASS" -msgstr "DEMO_PASS" - -msgid "DEVICE_NAME" -msgstr "DEVICE_NAME" - -msgid "DEVICE_WEIGHT" -msgstr "DEVICE_WEIGHT" - -msgid "" -"Database population occurs later for Networking because the script requires " -"complete server and plug-in configuration files." -msgstr "" -"データベースへのデータ登録は、スクリプトが設定済みのサーバーとプラグインの設" -"定ファイルを前提としているため、Networking の設定後に行います。" - -msgid "Debian 7" -msgstr "Debian 7" - -msgid "Debian does not use a separate ML2 plug-in package." -msgstr "Debian は ML2 プラグイン固有のパッケージを使用しません。" - -msgid "" -"Default configuration files vary by distribution. You might need to add " -"these sections and options rather than modifying existing sections and " -"options. Also, an ellipsis (...) in the configuration snippets indicates " -"potential default configuration options that you should retain." -msgstr "" -"設定ファイルのデフォルトは、ディストリビューションにより異なります。これらの" -"既存のセクションとオプションを編集するのではなく、追加する必要があるかもしれ" -"ません。また、設定のスニペットにある「...」は、保持すべきデフォルトの設定オプ" -"ションを意味します。" - -msgid "Default gateway: 10.0.0.1" -msgstr "デフォルトゲートウェイ: 10.0.0.1" - -msgid "" -"Depending on your network interface driver, you may need to disable " -"generic receive offload (GRO) to achieve suitable " -"throughput between your instances and the external network." -msgstr "" -"お使いのネットワークインターフェースドライバーによっては、インスタンスと外部" -"ネットワーク間の適切なスループットを達成するために、GRO を無効化する必要があるかも" -"しれません。" - -msgid "Description" -msgstr "説明" - -msgid "" -"Determine whether your compute node supports hardware acceleration for " -"virtual machines:" -msgstr "" -"お使いのコンピュートノードが仮想マシンのハードウェア支援機能をサポートするか" -"どうかを確認します。" - -msgid "" -"Disable or remove any automatic update services because they can impact your " -"OpenStack environment." -msgstr "" -"OpenStack 環境に影響を与える可能性があるため、自動更新サービスを無効化または" -"削除します。" - -msgid "" -"Disable the keystone service from " -"starting automatically after installation:" -msgstr "" -"keystone サービスがインストール後" -"に自動実行されないように無効化します。" - -msgid "Distribute ring configuration files" -msgstr "リング設定ファイルを配布します。" - -msgid "" -"Distributions release OpenStack packages as part of the distribution or " -"using other methods because of differing release schedules. Perform these " -"procedures on all nodes." -msgstr "" -"各ディストリビューションは、リリーススケジュールの違いにより、ディストリ" -"ビューションの一部として、または他の方法を用いて、OpenStack のパッケージをリ" -"リースします。これらの手順をすべてのノードで実行します。" - -msgid "" -"Do not change the HWADDR and UUID keys." -msgstr "" -"HWADDRUUID の項目を変更してはいけま" -"せん。" - -msgid "" -"Do not explicitly start the neutron-ovs-" -"cleanup service." -msgstr "" -"neutron-ovs-cleanup サービスを明示" -"的に起動しないでください。" - -msgid "" -"Do not repeat this step when creating additional users for this project." -msgstr "" -"このガイド用の追加ユーザーを作成するとき、この手順を繰り返さないでください。" - -msgid "Download a test file:" -msgstr "テストファイルをダウンロードします。" - -msgid "Download an image from the Image service:" -msgstr "Image サービスからイメージをダウンロードします。" - -msgid "Download the source image into it:" -msgstr "そこにソースイメージをダウンロードします。" - -msgid "" -"Due to a packaging bug, the Open vSwitch agent initialization script " -"explicitly looks for the Open vSwitch plug-in configuration file rather than " -"a symbolic link /etc/neutron/plugin.ini pointing to the " -"ML2 plug-in configuration file. Run the following commands to resolve this " -"issue:" -msgstr "" -"パッケージ化のバグのため、Open vSwitch エージェントの初期化スクリプトは、ML2 " -"プラグイン設定ファイルを指し示すシンボリックリンク /etc/neutron/" -"plugin.ini ではなく、Open vSwitch プラグイン設定ファイルを明示的に" -"検索します。この問題を解決するために、以下のコマンドを実行します。" - -msgid "" -"Due to a packaging bug, the dashboard CSS fails to load properly. Run the " -"following command to resolve this issue:" -msgstr "" -"パッケージ作成の不具合により、ダッシュボードの CSS が適切に読み込まれません。" -"以下のコマンドを実行して、この問題を解決します。" - -msgid "" -"During the final stage of the package installation, it is possible to " -"automatically create an admin tenant and an admin user. This can later be " -"used for other OpenStack services to contact the Identity service. This is " -"the equivalent of running the below commands:" -msgstr "" -"パッケージインストールの最終段階で自動的に admin テナントと admin ユーザーを" -"作成できます。これは、他の OpenStack サービスが Identity にアクセスするため" -"に後から使用できます。これは以下のコマンドと同等です。" - -msgid "EXTERNAL_NETWORK_CIDR" -msgstr "EXTERNAL_NETWORK_CIDR" - -msgid "EXTERNAL_NETWORK_GATEWAY" -msgstr "EXTERNAL_NETWORK_GATEWAY" - -msgid "" -"Each plug-in that Networking uses has its own concepts. While not vital to " -"operating the VNI and OpenStack environment, understanding these concepts " -"can help you set up Networking. All Networking installations use a core plug-" -"in and a security group plug-in (or just the No-Op security group plug-in). " -"Additionally, Firewall-as-a-Service (FWaaS) and Load-Balancer-as-a-Service " -"(LBaaS) plug-ins are available." -msgstr "" -"Networking が使用する各プラグインは、それぞれの概念を持ちます。VNI と " -"OpenStack 環境を運用することは必須ではありませんが、これらの概念を理解するこ" -"とにより、Networking を構築する役に立ちます。Networking はすべて、コアのプラ" -"グインとセキュリティグループプラグイン (または単なる No-Op セキュリティグルー" -"ププラグイン) を使用します。加えて、Firewall-as-a-Service (FWaaS) や Load-" -"Balancer-as-a-Service (LBaaS) プラグインが利用可能です。" - -msgid "" -"Each router has one gateway that connects to a network, and many interfaces " -"connected to subnets. Subnets can access machines on other subnets connected " -"to the same router." -msgstr "" -"各ルーターは、ネットワークに接続する 1 つのゲートウェイ、サブネットに接続する" -"複数のインターフェースを持ちます。サブネットは、同じルーターに接続された他の" -"サブネットにあるマシンにアクセスできます。" - -msgid "" -"Each service that you add to your OpenStack environment requires one or more " -"service entities and one API endpoint in the Identity service." -msgstr "" -"OpenStack 環境に追加する各サービスは、Identity サービスに、1 つ以上のサービス" -"エンティティー、1 つの API エンドポイントを必要とします。" - -msgid "Each user belongs to a user group with the same name as the user." -msgstr "各ユーザーはユーザーと同じ名前のユーザーグループに所属します。" - -msgid "Edit /etc/sahara/sahara.conf configuration file" -msgstr "/etc/sahara/sahara.conf 設定ファイルの編集" - -msgid "" -"Edit the /etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf file and configure the ServerName option to " -"reference the controller node:" -msgstr "" -"/etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf ファイルを編集" -"し、ServerName オプションを設定し、コントローラーノードを" -"参照します。" - -msgid "" -"Edit the /etc/mysql/my.cnf/etc/my.cnf file and change the max_allowed_packet option:" -msgstr "" -"/etc/mysql/my.cnf/etc/my.cnf ファイルを編集" -"し、max_allowed_packet オプションを変更します。" - -msgid "" -"Edit the /etc/keystone/keystone-paste." -"ini/usr/share/keystone/" -"keystone-dist-paste.ini file and remove " -"admin_token_auth from the [pipeline:public_api], [pipeline:admin_api], and [pipeline:" -"api_v3] sections." -msgstr "" -"/etc/keystone/keystone-paste.ini/usr/share/keystone/keystone-" -"dist-paste.ini ファイルを編集して、[pipeline:" -"public_api][pipeline:admin_api]、" -"[pipeline:api_v3] セクションから " -"admin_token_auth を削除します。" - -msgid "" -"Edit the /etc/ceilometer/ceilometer.conf file and " -"complete the following actions:" -msgstr "" -"/etc/ceilometer/ceilometer.conf ファイルを編集し、以下の" -"作業を完了します。" - -msgid "" -"Edit the /etc/cinder/cinder.conf file and complete the " -"following actions:" -msgstr "" -"/etc/cinder/cinder.conf ファイルを編集し、以下の作業を完" -"了します。" - -msgid "" -"Edit the /etc/default/rsync file and enable the " -"rsync service:" -msgstr "" -"/etc/default/rsync ファイルを編集し、rsync サービスを有効化します。" - -msgid "" -"Edit the /etc/fstab file and add the following to it:" -msgstr "" -"/etc/fstab ファイルを編集し、以下の内容を追加します。" - -msgid "" -"Edit the /etc/glance/glance-api.conf and /etc/" -"glance/glance-registry.conf files and complete the following " -"actions:" -msgstr "" -"/etc/glance/glance-api.conf ファイルと /etc/" -"glance/glance-registry.conf ファイルを編集し、以下の作業を実行しま" -"す。" - -msgid "" -"Edit the /etc/glance/glance-api.conf file and complete " -"the following actions:" -msgstr "" -"/etc/glance/glance-api.conf ファイルを編集し、以下の作業" -"を完了します。" - -msgid "" -"Edit the /etc/glance/glance-registry.conf file and " -"complete the following actions:" -msgstr "" -"/etc/glance/glance-registry.conf ファイルを編集し、以下" -"の作業を完了します。" - -msgid "" -"Edit the /etc/heat/heat.conf file and complete the " -"following actions:" -msgstr "" -"/etc/heat/heat.conf ファイルを編集し、以下の作業を完了し" -"ます。" - -msgid "Edit the /etc/hosts file to contain the following:" -msgstr "" -"/etc/hosts ファイルを編集し、以下の内容を含めます。" - -msgid "" -"Edit the /etc/keystone/keystone.conf file and complete " -"the following actions:" -msgstr "" -"/etc/keystone/keystone.conf ファイルを編集し、以下の作業" -"を完了します。" - -msgid "" -"Edit the /etc/mongodb.conf file and complete the " -"following actions:" -msgstr "" -"/etc/mongodb.conf ファイルを編集し、以下の作業を実行しま" -"す。" - -msgid "" -"Edit the /etc/network/interfaces file to contain the " -"following:" -msgstr "" -"/etc/network/interfaces ファイルを編集し、以下の内容を含" -"めます。" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following action:" -msgstr "" -"/etc/neutron/dhcp_agent.ini ファイルを編集し、以下の作業" -"を実行します。" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following actions:" -msgstr "" -"/etc/neutron/dhcp_agent.ini ファイルを編集し、以下の作業" -"を実行します。" - -msgid "" -"Edit the /etc/neutron/l3_agent.ini file and complete " -"the following actions:" -msgstr "" -"/etc/neutron/l3_agent.ini ファイルを編集し、以下の作業を" -"実行します。" - -msgid "" -"Edit the /etc/neutron/metadata_agent.ini file and " -"complete the following actions:" -msgstr "" -"/etc/neutron/metadata_agent.ini ファイルを編集して、以下" -"の作業を完了します。" - -msgid "" -"Edit the /etc/neutron/neutron.conf file and complete " -"the following actions:" -msgstr "" -"/etc/neutron/neutron.conf ファイルを編集し、以下の作業を" -"実行します。" - -msgid "" -"Edit the /etc/neutron/plugins/ml2/ml2_conf.ini file and " -"complete the following actions:" -msgstr "" -"/etc/neutron/plugins/ml2/ml2_conf.ini ファイルを編集し、" -"以下の作業を実行します。" - -msgid "" -"Edit the /etc/nova/nova.conf file and complete the " -"following actions:" -msgstr "" -"/etc/nova/nova.conf ファイルを編集し、以下の作業を完了し" -"ます。" - -msgid "" -"Edit the /etc/nova/nova.conf file and configure " -"notifications in the [DEFAULT] section:" -msgstr "" -"/etc/nova/nova.conf ファイルを編集し、" -"[DEFAULT] セクションに通知を設定します。" - -msgid "" -"Edit the /etc/nova/nova.conf file on the controller " -"node and complete the following actions:" -msgstr "" -"コントローラーノードで /etc/nova/nova.conf ファイルを編" -"集し、以下の作業を実行します。" - -msgid "" -"Edit the /etc/ntp.conf file and add, change, or remove " -"the following keys as necessary for your environment:" -msgstr "" -"/etc/ntp.conf ファイルを編集して、お使いの環境の必要に応" -"じて、以下のキーを追加、変更、削除します。" - -msgid "Edit the /etc/ntp.conf file:" -msgstr "/etc/ntp.conf ファイルを編集します。" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings.py " -"file and complete the following actions:" -msgstr "" -"/etc/openstack-dashboard/local_settings.py ファイルを編" -"集し、以下の作業を完了します。" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings file " -"and complete the following actions:" -msgstr "" -"/etc/openstack-dashboard/local_settings ファイルを編集" -"し、以下の作業を完了します。" - -msgid "" -"Edit the /etc/rsyncd.conf file and add the following to " -"it:" -msgstr "" -"/etc/rsyncd.conf ファイルを編集し、以下の内容を追加しま" -"す。" - -msgid "" -"Edit the /etc/swift/account-server.conf file and " -"complete the following actions:" -msgstr "" -"/etc/swift/account-server.conf ファイルを編集し、以下の" -"作業を実行します。" - -msgid "" -"Edit the /etc/swift/container-server.conf file and " -"complete the following actions:" -msgstr "" -"/etc/swift/container-server.conf ファイルを編集し、以下" -"の作業を実行します。" - -msgid "" -"Edit the /etc/swift/object-server.conf file and " -"complete the following actions:" -msgstr "" -"/etc/swift/object-server.conf ファイルを編集し、以下の作" -"業を実行します。" - -msgid "" -"Edit the /etc/swift/proxy-server.conf file and complete " -"the following actions:" -msgstr "" -"/etc/swift/proxy-server.conf ファイルを編集し、以下の作" -"業を実行します。" - -msgid "" -"Edit the /etc/swift/swift.conf file and complete the " -"following actions:" -msgstr "" -"/etc/swift/swift.conf ファイルを編集し、以下の作業を実行" -"します。" - -msgid "" -"Edit the /etc/sysconfig/apache2 file and configure the " -"APACHE_SERVERNAME option to reference the controller node:" -msgstr "" -"/etc/sysconfig/apache2 ファイルを編集し、" -"APACHE_SERVERNAME オプションを設定し、コントローラーノード" -"を参照します。" - -msgid "" -"Edit the /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME file to contain the " -"following:" -msgstr "" -"/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME ファイルを編集し、以下の内容を含めます。" - -msgid "" -"Edit the /etc/sysconfig/network/ifcfg-INTERFACE_NAME file to contain the following:" -msgstr "" -"/etc/sysconfig/network/ifcfg-INTERFACE_NAME ファイルを編集し、以下の内容を含めます。" - -msgid "" -"Edit the /etc/sysctl.conf file to contain the following " -"parameters:" -msgstr "" -"/etc/sysctl.conf ファイルを編集して、以下のパラメーター" -"を追加します。" - -msgid "" -"Edit the /srv/www/openstack-dashboard/openstack_dashboard/local/" -"local_settings.py file and complete the following actions:" -msgstr "" -"/srv/www/openstack-dashboard/openstack_dashboard/local/" -"local_settings.py ファイルを編集し、以下の作業を完了します。" - -msgid "" -"Edit the admin-openrc.sh file and add the following " -"content:" -msgstr "" -"admin-openrc.sh ファイルを編集し、以下の内容を追加しま" -"す。" - -msgid "" -"Edit the demo-openrc.sh file and add the following " -"content:" -msgstr "" -"demo-openrc.sh ファイルを編集し、以下の内容を追加しま" -"す。" - -msgid "" -"Edit the trove-taskmanager.conf file so it includes the " -"required settings to connect to the OpenStack Compute service as shown below:" -msgstr "" -"以下に示すとおり trove-taskmanager.conf ファイルを編集し" -"て、OpenStack Compute に接続するために必要な設定を行います。" - -msgid "" -"Edit the trove.conf file so it includes appropriate " -"values for the default datastore and network label regex as shown below:" -msgstr "" -"trove.conf ファイルを編集し、デフォルトのデータストアお" -"よびネットワークラベルの正規表現に、以下に示すように適切な値を設定します。" - -msgid "" -"Edit the [DEFAULT] section of each file (except " -"api-paste.ini) and set appropriate values for the " -"OpenStack service URLs (can be handled by Keystone service catalog), logging " -"and messaging configuration. Edit the [database] section " -"in each file to add the SQL connections:" -msgstr "" -"各ファイル (api-paste.ini を除く) の " -"[DEFAULT] セクションを編集し、OpenStack のサービスの URL " -"(Keystone のサービスカタログにより取り扱われるもの)、ログ設定、メッセージング" -"の設定に適切な値を設定します。各ファイルの [database] セク" -"ションを編集し、SQL 接続を追加します。" - -msgid "" -"Edit the [libvirt] section in the /etc/nova/nova-compute.conf/etc/nova/nova.conf file as follows:" -msgstr "" -"/etc/nova/nova-compute.conf/etc/nova/nova." -"conf ファイルの [libvirt] セクションを以下のよ" -"うに編集します。" - -msgid "Enable the DHCP MTU option (26) and configure it to 1454 bytes:" -msgstr "DHCP MTU オプション (26) を有効化し、それを 1454 バイトに設定します。" - -msgid "Enable the Identity service virtual hosts:" -msgstr "Identity の仮想ホストを有効化します。" - -msgid "" -"Enable the Open Build Service repositories based on your openSUSE or SLES " -"version:" -msgstr "" -"お使いの openSUSE や SLES のバージョンに合わせて、Open Build Service リポジト" -"リを有効化します。" - -msgid "" -"Enable the Open Build Service repositories for MongoDB based on your " -"openSUSE or SLES version:" -msgstr "" -"お使いの openSUSE や SLES のバージョンに合わせて、MongoDB 用の Open Build " -"Service リポジトリを有効化します。" - -msgid "Ensure proper ownership of the mount point directory structure:" -msgstr "" -"マウントポイントのディレクトリー構造が適切な所有権を持つことを確認します。" - -msgid "Ensure the kernel module nbd is loaded." -msgstr "" -"カーネルモジュール nbd が読み込まれていることを確認しま" -"す。" - -msgid "" -"Ensure the module will be loaded on every boot by adding nbd in the /etc/modules-load.d/nbd.conf file." -msgstr "" -"/etc/modules-load.d/nbd.conf ファイルに nbd を追加することにより、モジュールが起動時に毎回読み込まれることを確認" -"します。" - -msgid "Example architectures" -msgstr "サンプルアーキテクチャー" - -msgid "Example for uploading rules for MySQL datastore:" -msgstr "MySQL データ用ルールをアップロードする例:" - -msgid "Example using 192.168.1.0/24:" -msgstr "192.168.1.0/24 を用いた例:" - -msgid "Exit the database access client." -msgstr "データベースクライアントを終了します。" - -msgid "External network" -msgstr "外部ネットワーク" - -msgid "External on 203.0.113.0/24 with gateway 203.0.113.1" -msgstr "外部ネットワーク 203.0.113.0/24、ゲートウェイ 203.0.113.1" - -msgid "FILE" -msgstr "FILE" - -msgid "FLOATING_IP_END" -msgstr "FLOATING_IP_END" - -msgid "FLOATING_IP_START" -msgstr "FLOATING_IP_START" - -msgid "Fedora does not require this package." -msgstr "Fedora は、このパッケージを必要としません。" - -msgid "Fedora does not require this repository." -msgstr "Fedora は、このリポジトリーを必要としません。" - -msgid "Finalize installation" -msgstr "インストールの最終手順" - -msgid "" -"First, edit option in the [database] " -"section. The URL provided here should point to an empty database. For " -"instance, connection string for MySQL database will be: " -msgstr "" -"最初に、[database] セクションの オプショ" -"ンを編集します。ここに示された URL は、空のデーターベースを指し示すべきです。" -"例えば、MySQL 用の connection 文字列は以下のとおりです。" - -msgid "" -"For OpenStack services, this guide uses SERVICE_PASS to reference service account passwords and " -"SERVICE_DBPASS to reference database passwords." -msgstr "" -"このガイドは、OpenStack のサービスのために、サービスアカウントの参照パスワー" -"ドに SERVICE_PASS を使用し、データベースの参照パス" -"ワードに SERVICE_DBPASS を使用します。" - -msgid "" -"For details about browsers that support noVNC, see https://github." -"com/kanaka/noVNC/blob/master/README.md, and https://github.com/" -"kanaka/noVNC/wiki/Browser-support, respectively." -msgstr "" -"noVNC をサポートするブラウザーの詳細はそれぞれ https://github.com/kanaka/" -"noVNC/blob/master/README.md と https://github.com/kanaka/noVNC/wiki/" -"Browser-support を参照してください。" - -msgid "" -"For every package that must connect to a Messaging Server, the Debian " -"package enables you to configure the IP address for that server and the user " -"name and password that is used to connect. The following example shows " -"configuration with the ceilometer-common package:" -msgstr "" -"メッセージングサーバーに接続する必要があるすべてのパッケージの場合には、" -"Debian パッケージにより、そのサーバーの IP アドレス、接続するために使用される" -"ユーザー名とパスワードを設定できます。以下の例は ceilometer-common を用いた設定を示します。" - -msgid "" -"For example, using 203.0.113.0/24 with floating IP " -"address range 203.0.113.101 to 203.0.113.200:" -msgstr "" -"例えば、Floating IP アドレス範囲 203.0.113.101 〜 " -"203.0.113.200 を持つ 203.0.113.0/24 を" -"使用する場合:" - -msgid "" -"For example, using an exclusive slice of 203.0.113.0/24 " -"with IP address range 203.0.113.24 to " -"203.0.113.31:" -msgstr "" -"例えば、IP アドレス 203.0.113.24 ~ " -"203.0.113.31 を持つ 203.0.113.0/24 の専" -"用範囲を使用する場合:" - -msgid "" -"For information about disk and container formats for images, see Disk and container formats for images in the OpenStack " -"Virtual Machine Image Guide." -msgstr "" -"イメージのディスクとコンテナー形式に関する詳細は、OpenStack " -"Virtual Machine Image GuideDisk and container " -"formats for images を参照してください。" - -msgid "" -"For information about the parameters, see Image service command-line " -"client in the OpenStack Command-Line Interface Reference." -msgstr "" -" パラメーターの詳細は、OpenStack Command-Line " -"Interface ReferenceImage service command-line " -"client を参照してください。" - -msgid "" -"For information on requirements for other back ends, see Configuration Reference." -msgstr "" -"他のバックエンドの要件は、設定リファレンスを参照してください。" - -msgid "" -"For more information about how to download and build images, see OpenStack Virtual Machine Image Guide. For " -"information about how to manage images, see the OpenStack User Guide." -msgstr "" -"ダウンロード方法とイメージ構築の詳細はOpenStack 仮想マシ" -"ンイメージガイドを参照してください。イメージの管理方法の詳" -"細はOpenStack ユーザーガイドを参照してください。" - -msgid "" -"For more information about how to manage volumes, see the OpenStack " -"User Guide." -msgstr "" -"ボリュームの管理方法の詳細は、OpenStack User Guideを" -"参照してください。" - -msgid "" -"For more information about system requirements, see the OpenStack Operations Guide." -msgstr "" -"システム要件の詳細は OpenStack 運用ガイドを参照してください。" - -msgid "" -"For more information on other modules that enable additional features, see " -"the Deployment Guide." -msgstr "" -"追加機能を有効化する他のモジュールに関する詳細は、Deployment Guide を参照してください。" - -msgid "" -"For more information, see the Networking chapter of " -"the OpenStack Cloud Administrator Guide." -msgstr "" -"詳細は、OpenStack Cloud Administrator GuideNetworking の章を参照してください。" - -msgid "" -"For more information, see the bug report." -msgstr "" -"詳細はバグ報告を参照してください。" - -msgid "" -"For more information, see the SLES or the " -"openSUSE documentation." -msgstr "" -"詳細は SLES または openSUSE のドキュ" -"メントを参照してください。" - -msgid "" -"For security reasons, disable the temporary authentication token mechanism:" -msgstr "セキュリティのため、一時認証トークンメカニズムを無効化します。" - -msgid "" -"For security reasons, do not use the temporary authentication token for " -"longer than necessary to initialize the Identity service." -msgstr "" -"セキュリティのため、Identity サービスの初期化に必要となる以外は、一時認証トー" -"クンを使用しません。" - -msgid "" -"For simplicity, this guide describes configuring the Image service to use " -"the file back end, which uploads and stores in a " -"directory on the controller node hosting the Image service. By default, this " -"directory is /var/lib/glance/images/." -msgstr "" -"簡単のため、このガイドは Image service が file バックエン" -"ドを使用するよう設定します。これは、Image service をホストしているシステムに" -"あるディレクトリにアップロードされ、保存されることを意味します。このディレク" -"トリはデフォルトで /var/lib/glance/images/ です。" - -msgid "" -"For simplicity, this guide implicitly uses the default " -"domain." -msgstr "" -"簡単のため、このガイドは default ドメインを使用します。" - -msgid "" -"For the restrict keys, you essentially remove the " -"nopeer and noquery options." -msgstr "" -"restrict キーの nopeer と " -"noquery オプションを削除します。" - -msgid "" -"For the outside network to access VMs, and vice versa, routers between the " -"networks are needed. Each router has one gateway that is connected to a " -"network and many interfaces that are connected to subnets. Like a physical " -"router, subnets can access machines on other subnets that are connected to " -"the same router, and machines can access the outside network through the " -"gateway for the router." -msgstr "" -"外部ネットワークが仮想マシンにアクセスするため、またその逆のため、ネットワー" -"ク間のルーターが必要になります。各ルーターはネットワークに接続された 1 つの" -"ゲートウェイとサブネットに接続された多くのインターフェースを持ちます。物理" -"ルーターのように、同じルーターに接続された他のサブネットにあるマシンにサブ" -"ネットがアクセスできます。また、マシンはルーターに対するゲートウェイ経由で外" -"部ネットワークにアクセスできます。" - -msgid "" -"Format the /dev/sdb1 and /dev/sdc1 " -"partitions as XFS:" -msgstr "" -"/dev/sdb1/dev/sdc1 パーティション" -"を XFS としてフォーマットします。" - -msgid "From a host on the external network, ping the tenant router gateway:" -msgstr "" -"外部ネットワークのホストからテナントルーターのゲートウェイに ping します。" - -msgid "" -"From the compute node, a site on the " -"Internet:" -msgstr "" -"コンピュートノードから、インターネットにあるサイトを " -" します。" - -msgid "" -"From the compute node, the instance " -"tunnels interface on the network node:" -msgstr "" -"compute ノードから、network ノード" -"の管理インターフェースに します。" - -msgid "" -"From the compute node, the management " -"interface on the controller node:" -msgstr "" -"compute ノードから、controller ノー" -"ドの管理インターフェースに します。" - -msgid "" -"From the controller node, a site on " -"the Internet:" -msgstr "" -"コントローラーノードから、インターネットにあるサイトを " -" します。" - -msgid "" -"From the controller node, the " -"management interface on the compute node:" -msgstr "" -"controller ノードから、compute ノー" -"ドの管理インターフェースに します。" - -msgid "" -"From the controller node, the " -"management interface on the network node:" -msgstr "" -"controller ノードから、network ノー" -"ドの管理インターフェースに します。" - -msgid "" -"From the network node, a site on the " -"Internet:" -msgstr "" -"ネットワークノードから、インターネットにあるサイトを " -" します。" - -msgid "" -"From the network node, the instance " -"tunnels interface on the compute node:" -msgstr "" -"network ノードから、compute ノード" -"の管理インターフェースに します。" - -msgid "" -"From the network node, the management " -"interface on the controller node:" -msgstr "" -"network ノードから、controller ノー" -"ドの管理インターフェースに します。" - -msgid "GLANCE_DBPASS" -msgstr "GLANCE_DBPASS" - -msgid "GLANCE_PASS" -msgstr "GLANCE_PASS" - -msgid "" -"Generally, the -common packages " -"install the configuration files. For example, the glance-common package installs the glance-api.conf and " -"glance-registry.conf files. So, for the Image service, " -"you must re-configure the glance-common package. The same " -"applies for cinder-common, nova-common, and heat-common packages." -msgstr "" -"一般的に、-common パッケージが設定" -"ファイルをインストールします。例えば、glance-common パッ" -"ケージが glance-api.confglance-registry." -"conf ファイルをインストールします。そのため、Image service 用に " -"glance-common パッケージを再設定する必要があります。同じこ" -"とを cinder-commonnova-common、" -"heat-common パッケージに適用します。" - -msgid "Generally, this section looks like this:" -msgstr "一般的に、このセクションはこのようになります。" - -msgid "Generate a key pair:" -msgstr "キーペアを生成します。" - -msgid "" -"Generate a random value to use as the administration token during initial " -"configuration:" -msgstr "初期設定中に管理トークンとして使用するために、ランダム値を生成します。" - -msgid "Generate a random value to use as the telemetry secret:" -msgstr "telemetry シークレットとして使用するために、ランダムな値を生成します。" - -msgid "Generate and add a key pair:" -msgstr "キーペアを生成し、追加します。" - -msgid "Grant proper access to the cinder database:" -msgstr "" -"cinder データベースへの適切なアクセス権を付与します。" - -msgid "Grant proper access to the glance database:" -msgstr "glance データベースに適切なアクセス権を付与します。" - -msgid "Grant proper access to the heat database:" -msgstr "heat データベースに適切な権限を付与します。" - -msgid "Grant proper access to the keystone database:" -msgstr "" -"keystone データベースへの適切なアクセス権を付与します。" - -msgid "Grant proper access to the neutron database:" -msgstr "neutron データベースに適切な権限を付与します。" - -msgid "Grant proper access to the nova database:" -msgstr "nova データベースに適切なアクセス権を付与します。" - -msgid "Grant proper access to the sahara database:" -msgstr "sahara データベースに適切な権限を付与します。" - -msgid "HASH_PATH_PREFIX" -msgstr "HASH_PATH_PREFIX" - -msgid "HASH_PATH_SUFFIX" -msgstr "HASH_PATH_SUFFIX" - -msgid "HEAT_DBPASS" -msgstr "HEAT_DBPASS" - -msgid "HEAT_DOMAIN_PASS" -msgstr "HEAT_DOMAIN_PASS" - -msgid "HEAT_PASS" -msgstr "HEAT_PASS" - -msgid "Horizon enables you to customize the brand of the dashboard." -msgstr "Horizon により、ダッシュボードのブランドをカスタマイズできます。" - -msgid "" -"Horizon provides a set of core classes and reusable templates and tools." -msgstr "" -"Horizon は、コアなクラス、再利用可能なテンプレートやツールを提供します。" - -msgid "" -"However, VMs will reduce performance of your instances, particularly if your " -"hypervisor and/or processor lacks support for hardware acceleration of " -"nested VMs." -msgstr "" -"しかしながら、仮想マシンはインスタンスのパフォーマンスを劣化させます。とく" -"に、ハイパーバイザーとプロセッサーがネステッド仮想マシンのハードウェア支援機" -"能をサポートしない場合です。" - -msgid "ID" -msgstr "ID" - -msgid "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" -msgstr "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" - -msgid "INTERFACE_NAME" -msgstr "INTERFACE_NAME" - -msgid "IP address: 10.0.0.11" -msgstr "IP アドレス: 10.0.0.11" - -msgid "IP address: 10.0.0.21" -msgstr "IP アドレス: 10.0.0.21" - -msgid "IP address: 10.0.0.31" -msgstr "IP アドレス: 10.0.0.31" - -msgid "IP address: 10.0.0.41" -msgstr "IP アドレス: 10.0.0.41" - -msgid "IP address: 10.0.0.51" -msgstr "IP アドレス: 10.0.0.51" - -msgid "IP address: 10.0.0.52" -msgstr "IP アドレス: 10.0.0.52" - -msgid "IP address: 10.0.1.21" -msgstr "IP アドレス: 10.0.1.21" - -msgid "IP address: 10.0.1.31" -msgstr "IP アドレス: 10.0.1.31" - -msgid "" -"If the status does not indicate available, check the logs " -"in the /var/log/cinder directory on the controller and " -"volume nodes for more information." -msgstr "" -"ステータスが利用可能になっていなければ、コントローラーノー" -"ドとボリュームノードの /var/log/cinder ディレクトリーに" -"ある詳細なログを確認してください。" - -msgid "" -"If the upgrade process includes a new kernel, reboot your system to activate " -"it." -msgstr "" -"アップグレード処理が新しいカーネルを含む場合、それを有効化するために、システ" -"ムを再起動します。" - -msgid "" -"If the web browser to access remote consoles resides on a host that cannot " -"resolve the controller hostname, you must replace " -"controller with the management interface IP " -"address of the controller node." -msgstr "" -"リモートコンソールにアクセスする Web ブラウザーが controller のホスト名を解決できないホストにある場合、" -"controller をコントローラーノードの管理インター" -"フェースの IP アドレスに置き換える必要があります。" - -msgid "" -"If this command returns a value of one or greater, your " -"compute node supports hardware acceleration which typically requires no " -"additional configuration." -msgstr "" -"このコマンドが 1 以上の値を返したならば、お使いのコン" -"ピュートノードがハードウェア支援機能をサポートし、一般的に追加の設定は必要あ" -"りません。" - -msgid "" -"If this command returns a value of zero, your compute " -"node does not support hardware acceleration and you must configure " -"libvirt to use QEMU instead of KVM." -msgstr "" -"このコマンドが 0 を返す場合、お使いのコンピュートノード" -"はハードウェア支援機能をサポートしません。libvirt は KVM " -"の代わりに QEMU を使用する必要があります。" - -msgid "" -"If you are building your OpenStack nodes as virtual machines, you must " -"configure the hypervisor to permit promiscuous mode on the external network." -msgstr "" -"OpenStack のノードを仮想マシンとして構築する場合、外部ネットワークのプロミス" -"キャスモードを許可するよう、ハイパーバイザーを設定する必要があります。" - -msgid "" -"If you are familiar with these packages and pre-seeding, you can proceed to " -"." -msgstr "" -"これらのパッケージと事前シードに慣れている場合、 に進むことができます。" - -msgid "" -"If you change the journaling configuration, stop the MongoDB service, remove " -"the initial journal files, and start the service:" -msgstr "" -"ジャーナリングの設定を変更する場合、MongoDB サービスを停止し、初期ジャーナル" -"ファイルを削除し、サービスを起動します。" - -msgid "" -"If you choose to install on VMs, make sure your hypervisor permits " -"promiscuous mode and disables MAC address filtering " -"on the external network." -msgstr "" -"仮想マシンにインストールする場合、お使いのハイパーバイザーが外部ネットワークプロミスキャスモードを許可し、MAC " -"アドレスフィルタリングを無効化していることを確認します。" - -msgid "" -"If you configure a package with debconf incorrectly, you can re-configure it, as follows:" -msgstr "" -"debconf を用いて誤って設定した場" -"合、以下のように再設定できます。" - -msgid "" -"If you decide to not use , then you will have to create the " -"database and manage its access rights yourself, and run the following by " -"hand." -msgstr "" -" を使用しない場合、自分自身でデータベースを作成し、そのアクセ" -"ス権を管理する必要があります。手動で以下を実行します。" - -msgid "" -"If you intend to use non-raw image types such as QCOW2 and VMDK, install the " -"QEMU support package:" -msgstr "" -"QCOW2 や VMDK などの raw 以外のイメージ形式を使用したい場合、QEMU サポート" -"パッケージをインストールします。" - -msgid "" -"If you use the Data processing service with a MySQL or MariaDB database, you " -"must configure the maximum number of allowed packets for storing big job " -"binaries in the service internal database." -msgstr "" -"MySQL や MariaDB データベースを用いた Data processing サービスを使用する場" -"合、サービスの内部データベースにビッグジョブバイナリーを保存するために許可さ" -"れるパケットの最大数を設定する必要があります。" - -msgid "If you want to do backup and restore, you also need Object Storage." -msgstr "" -"バックアップとリストアを実行したい場合、Object Storage も必要になります。" - -msgid "" -"If you want to provision datastores on block-storage volumes, you also need " -"Block Storage." -msgstr "" -"ブロックストレージボリュームにデータストアを配備したい場合、Block Storage も" -"必要になります。" - -msgid "" -"If your environment includes the Block Storage service, you can attach a " -"volume to the instance." -msgstr "" -"お使いの環境に Block Storage がある場合、ボリュームをインスタンスに接続できま" -"す。" - -msgid "" -"If your host does not contain the public/private key pair created in an " -"earlier step, SSH prompts for the default password associated with the " -"cirros user." -msgstr "" -"ここまでの手順で作成した公開/秘密キーペアがホストになければ、" -"cirros ユーザーのデフォルトパスワードが SSH のプロンプトで" -"要求されます。" - -msgid "" -"If your instance does not launch or seem to work as you expect, see the " -"OpenStack " -"Operations Guide for more information or use one of the " -"many other options to seek " -"assistance. We want your environment to work!" -msgstr "" -"インスタンスが起動しない、期待通り動作しない場合、詳細について OpenStack Operations " -"Guide を参照してください。または、支援を得るために多くの他の選択肢を利用してください。" -"お使いの環境が動作することを期待しています。" - -msgid "" -"If your system uses a different device name, adjust these steps accordingly." -msgstr "" -"お使いのシステムが別のデバイス名を使用している場合、これらの手順を適切に変更" -"してください。" - -msgid "" -"If your web browser runs on a host that cannot resolve the " -"controller host name, you can replace " -"controller with the IP address of the management " -"interface on your controller node." -msgstr "" -"controller のホスト名を解決できないホストで Web ブ" -"ラウザーを使用している場合、コントローラーノードで管理インターフェースの IP " -"アドレスで controller を置き換えられます。" - -msgid "Implement the changes:" -msgstr "変更を実装します。" - -msgid "" -"In debconf, the higher the " -"priority for a screen, the greater the chance that the user sees that " -"screen. If a debconf screen has " -"medium priority and you configure the Debian system to " -"show only critical prompts, which is the default in " -"Debian, the user does not see that debconf screen. Instead, the default for the related package is used. In " -"the Debian OpenStack packages, a number of debconf screens are set with medium " -"priority. Consequently, if you want to respond to all debconf screens from the Debian OpenStack packages, " -"you must run the following command and select the medium " -"priority before you install any packages:" -msgstr "" -"debconf では、画面の優先度が高けれ" -"ば高いほど、ユーザーがその画面を参照する機会が増えます。debconf 画面が medium (中) の優先" -"度を持ち、Debian システムが critical (重要) のプロンプトの" -"みを表示するよう設定している場合、その debconf 画面が表示されません。代わりに、関連パッケージのデ" -"フォルトが使用されます。Debian OpenStack パッケージの場合、数多くの " -"debconf 画面が medium 優先度に設定されています。そのため、Debian OpenStack パッケージのす" -"べての debconf 画面をプロンプト表" -"示したい場合、何らかのパッケージをインストールする前に、以下のコマンドを実行" -"し、medium 優先度を選択する必要があります。" - -msgid "" -"In Debian, the Keystone package offers automatic registration of Keystone in " -"the service catalogue. This is equivalent of running the below commands:" -msgstr "" -"Debian の場合、Keystone パッケージが自動的にサービスカタログに Keystone を登" -"録します。これは、以下のコマンドと同等です。" - -msgid "" -"In Kilo, the keystone project deprecates Eventlet in favor of a WSGI server. " -"This guide uses the Apache HTTP server with mod_wsgi to " -"serve keystone requests on ports 5000 and 35357. By default, the keystone service still listens on ports 5000 " -"and 35357. Therefore, this guide disables the keystone service." -msgstr "" -"Kilo では、keystone プロジェクトが Eventlet を廃止して、代わりに WSGI サー" -"バーを推奨します。このガイドは、Apache HTTP server の mod_wsgi を使用して、5000 番ポートと 35357 番ポートで keystone のリクエストを" -"処理します。デフォルトで、keystone サービスは、まだ 5000 番と 35357 番をリッスンしています。そのた" -"め、このガイドは、keystone サービ" -"スを無効化します。" - -msgid "" -"In addition to external networks, any Networking set up has one or more " -"internal networks. These software-defined networks connect directly to the " -"VMs. Only the VMs on any given internal network, or those on subnets " -"connected through interfaces to a similar router, can access VMs connected " -"to that network directly." -msgstr "" -"外部ネットワークに加えて、あらゆる Networking のセットアップ環境は 1 つ以上の" -"内部ネットワークを持ちます。これらの SDN は仮想マシンに直接接続します。あらゆ" -"る指定された内部ネットワークにある仮想マシン、またはインターフェース経由で同" -"様のルーターに接続されたサブネットにある仮想マシンのみが、そのネットワークに" -"接続された仮想マシンに直接アクセスできます。" - -msgid "" -"In each client environment script, configure the Block Storage client to use " -"API version 2.0:" -msgstr "" -"各クライアント環境スクリプトにおいて、API version 2.0 を使用するよう Block " -"Storage クライアントを設定します。" - -msgid "" -"In each client environment script, configure the Image service client to use " -"API version 2.0:" -msgstr "" -"各クライアント環境スクリプトにおいて、API version 2.0 を使用するよう Image " -"service クライアントを設定します。" - -msgid "" -"In the [DEFAULT] and [keystone_authtoken] sections, configure Identity service access:" -msgstr "" -"[DEFAULT][keystone_authtoken] セク" -"ションに、Identity のアクセス権を設定します。" - -msgid "" -"In the [DEFAULT] and [nova] sections, " -"configure Networking to notify Compute of network topology changes:" -msgstr "" -"[DEFAULT] セクションと [nova] セクショ" -"ンに、Networking が Compute にネットワークトポロジーの変更を通知するよう設定" -"します。" - -msgid "" -"In the [DEFAULT] and [oslo_messaging_rabbit] sections, configure RabbitMQ message " -"queue access:" -msgstr "" -"[DEFAULT][oslo_messaging_rabbit] セ" -"クションに、RabbitMQ メッセージキューのアクセス方" -"法を設定します。" - -msgid "" -"In the [DEFAULT] section, configure access parameters:" -msgstr "" -"[DEFAULT] セクションに、アクセスパラメーターを設定します。" - -msgid "" -"In the [DEFAULT] section, configure information about the " -"heat Identity service domain:" -msgstr "" -"[DEFAULT] セクションに、Identity に heat ドメインに関する" -"情報を設定します。" - -msgid "" -"In the [DEFAULT] section, configure notifications and " -"RabbitMQ message broker access:" -msgstr "" -"[DEFAULT] セクションに、通知と RabbitMQ ブローカーのアクセ" -"ス権を設定します。" - -msgid "In the [DEFAULT] section, configure notifications:" -msgstr "[DEFAULT] セクションに通知を設定します。" - -msgid "" -"In the [DEFAULT] section, configure the APIs and drivers:" -msgstr "" -"[DEFAULT] セクションに、API とドライバーを設定します。" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option to use the management interface IP address of the controller " -"node:" -msgstr "" -"[DEFAULT] セクションに、コントローラーノードの管理インター" -"フェース IP アドレスを使用するために my_ip オプションを設" -"定します。" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option:" -msgstr "" -"[DEFAULT] セクションに my_ip オプション" -"を設定します。" - -msgid "" -"In the [DEFAULT] section, configure the noop notification driver to disable notifications because they only " -"pertain to the optional Telemetry service:" -msgstr "" -"[DEFAULT] セクションに、noop 通知ドライ" -"バーを設定し、通知を無効化します。これらはオプションの Telemetry サービスのみ" -"に関するものだからです。" - -msgid "" -"In the [DEFAULT] section, configure the VNC proxy to use " -"the management interface IP address of the controller node:" -msgstr "" -"[DEFAULT] セクションで、コントローラーノードの管理インター" -"フェース IP アドレスを使用するために、VNC プロキシを設定します。" - -msgid "" -"In the [DEFAULT] section, configure the bind IP address, " -"bind port, user, configuration directory, and mount point directory:" -msgstr "" -"[DEFAULT] セクションにおいて、バインドする IP アドレス、バ" -"インドするポート、ユーザー、設定ディレクトリー、マウントポイントとなるディレ" -"クトリーを設定します。" - -msgid "" -"In the [DEFAULT] section, configure the bind port, user, " -"and configuration directory:" -msgstr "" -"[DEFAULT] セクションにおいて、バインドするポート、ユー" -"ザー、設定ディレクトリーを設定します。" - -msgid "" -"In the [DEFAULT] section, configure the interface and " -"DHCP drivers and enable deletion of defunct DHCP namespaces:" -msgstr "" -"[DEFAULT] セクションに、インターフェース、DHCP ドライバー" -"を設定し、defunct DHCP 名前空間の削除を有効化します。" - -msgid "" -"In the [DEFAULT] section, configure the interface driver, " -"external network bridge, and enable deletion of defunct router namespaces:" -msgstr "" -"[DEFAULT] セクションに、インターフェースドライバー、外部" -"ネットワークブリッジを設定し、defunct ルーター名前空間の削除を有効化します。" - -msgid "" -"In the [DEFAULT] section, configure the location of the " -"Image service:" -msgstr "" -"[DEFAULT] セクションで、Image サービスの位置を設定します。" - -msgid "" -"In the [DEFAULT] section, configure the metadata and wait " -"condition URLs:" -msgstr "" -"[DEFAULT] セクションで、メタデータおよび待機条件の URL を" -"設定します。" - -msgid "" -"In the [DEFAULT] section, configure the metadata host:" -msgstr "" -"[DEFAULT] セクションに、メタデータホストを設定します。" - -msgid "" -"In the [DEFAULT] section, configure the metadata proxy " -"shared secret:" -msgstr "" -"[DEFAULT] セクションに、メタデータプロキシーの共有シーク" -"レットを設定します。" - -msgid "" -"In the [DEFAULT] section, configure the network and " -"security group APIs:" -msgstr "" -"[DEFAULT] セクションに、ネットワークとセキュリティグループ" -"の API を設定します。" - -msgid "" -"In the [DEFAULT] section, configure the network " -"parameters:" -msgstr "" -"[DEFAULT] セクションに、ネットワークのパラメーターを設定し" -"ます。" - -msgid "" -"In the [DEFAULT] section, define the value of the initial " -"administration token:" -msgstr "" -"[DEFAULT] セクションに初期管理トークンの値を定義します。" - -msgid "" -"In the [DEFAULT] section, enable and configure remote " -"console access:" -msgstr "" -"[DEFAULT] セクションに、リモートコンソールアクセスを有効化" -"し、設定します。" - -msgid "" -"In the [DEFAULT] section, enable the dnsmasq configuration file:" -msgstr "" -"[DEFAULT] セクションに、dnsmasq 設" -"定ファイルを有効化します。" - -msgid "In the [DEFAULT] section, enable the LVM back end:" -msgstr "" -"[DEFAULT] セクションで LVM バックエンドを有効化しあmす。" - -msgid "" -"In the [DEFAULT] section, enable the Modular Layer 2 " -"(ML2) plug-in, router service, and overlapping IP addresses:" -msgstr "" -"[DEFAULT] セクションにおいて、Modular Layer 2 (ML2) プラグ" -"イン、ルーターサービス、IP アドレス重複を有効化します。" - -msgid "In the [agent] section, enable GRE tunnels:" -msgstr "" -"[agent] セクションにおいて、GRE トンネルを有効化します。" - -msgid "" -"In the [app:proxy-server] section, enable automatic " -"account creation:" -msgstr "" -"[app:proxy-server] セクションにおいて、自動アカウント作成" -"を有効化します。" - -msgid "" -"In the [collector] section, configure the dispatcher:" -msgstr "" -"[collector] セクションにディスパッチャーを設定します。" - -msgid "" -"In the [database] section, comment out any " -"connection options because compute nodes do not directly " -"access the database." -msgstr "" -"コンピュートノードはデータベースに直接アクセスしないため、" -"[database] セクションの connection オプ" -"ションをコメントアウトします。" - -msgid "" -"In the [database] section, comment out any " -"connection options because network nodes do not directly " -"access the database." -msgstr "" -"ネットワークノードはデータベースに直接アクセスしないため、" -"[database] セクションの connection オプ" -"ションをコメントアウトします。" - -msgid "" -"In the [database] section, configure database access:" -msgstr "" -"[database] セクションに、データベースのアクセス権を設定し" -"ます。" - -msgid "" -"In the [ec2authtoken] section, configure Identity service " -"access:" -msgstr "" -"[ec2authtoken] セクションに、Identity のアクセス権を設定し" -"ます。" - -msgid "" -"In the [filter:authtoken] section, configure Identity " -"service access:" -msgstr "" -"[filter:authtoken] セクションに、Identity のアクセス権を設" -"定します。" - -msgid "" -"In the [filter:cache] section, configure the " -"memcached location:" -msgstr "" -"[filter:cache] セクションに、memcached の位置を設定します。" - -msgid "" -"In the [filter:ceilometer] section, configure " -"notifications:" -msgstr "" -"[filter:ceilometer] セクションに、通知を設定します。" - -msgid "" -"In the [filter:keystoneauth] section, add the " -"ResellerAdmin role:" -msgstr "" -"[filter:keystoneauth] セクションに、" -"ResellerAdmin ロールを追加します。" - -msgid "" -"In the [filter:keystoneauth] section, configure the " -"operator roles:" -msgstr "" -"[filter:keystoneauth] セクションにおいて、operator ロール" -"を設定します。" - -msgid "" -"In the [filter:recon] section, configure the recon " -"(meters) cache and lock directories:" -msgstr "" -"[filter:recon] セクションに、recon (測定項目) キャッシュお" -"よびロックディレクトリーを設定します。" - -msgid "" -"In the [filter:recon] section, configure the recon " -"(meters) cache directory:" -msgstr "" -"[filter:recon] セクションに、recon (測定項目) キャッシュ" -"ディレクトリーを設定します。" - -msgid "" -"In the [glance] section, configure the location of the " -"Image service:" -msgstr "" -"[glance] セクションに、Image サービスの位置を設定します。" - -msgid "" -"In the [glance_store] section, configure the local file " -"system store and location of image files:" -msgstr "" -"[glance_store] セクションにおいて、ローカルファイルシステ" -"ムストアおよびイメージファイルの位置を設定します。" - -msgid "" -"In the [keystone_authtoken] and [ec2authtoken] sections, configure Identity service access:" -msgstr "" -"[keystone_authtoken]セクションと [ec2authtoken] セクションで、Identity のアクセス権を設定します。" - -msgid "" -"In the [keystone_authtoken] and [paste_deploy] sections, configure Identity service access:" -msgstr "" -"[keystone_authtoken]セクションと [paste_deploy] セクションで、Identity のアクセス権を設定します。" - -msgid "" -"In the [keystone_authtoken] section, configure Identity " -"service access:" -msgstr "" -"[keystone_authtoken] セクションで、Identity のアクセス権を" -"設定します。" - -msgid "" -"In the [memcache] section, configure the Memcache service:" -msgstr "" -"[memcache] セクションに memcache サービスを設定します。" - -msgid "" -"In the [ml2] section, enable the flat, VLAN, generic routing encapsulation (GRE), and virtual extensible LAN (VXLAN) " -"network type drivers, GRE tenant networks, and the OVS mechanism driver:" -msgstr "" -"[ml2] セクションにおいて、flatVLANgeneric routing encapsulation (GRE)、" -"virtual extensible LAN (VXLAN) ネットワークタイプドラ" -"イバー、GRE テナントネットワーク、OVS メカニズムドライバーを有効化します。" - -msgid "" -"In the [ml2_type_flat] section, configure the external " -"flat provider network:" -msgstr "" -"[ml2_type_flat] セクションに、外部フラットプロバイダーネッ" -"トワークを設定します。" - -msgid "" -"In the [ml2_type_gre] section, configure the tunnel " -"identifier (id) range:" -msgstr "" -"[ml2_type_gre] セクションに、トンネル識別子 (ID) の範囲を" -"設定します。" - -msgid "" -"In the [mysqld] section, set the bind-address key to the management IP address of the controller node to enable " -"access by other nodes via the management network:" -msgstr "" -"[mysqld] セクションの bind-address にコ" -"ントローラーノードの管理 IP アドレスを設定して、管理ネットワーク経由で他の" -"ノードによりアクセスできるようにします。" - -msgid "" -"In the [mysqld] section, set the following keys to enable " -"useful options and the UTF-8 character set:" -msgstr "" -"[mysqld] セクションに以下のキーを設定して、有用なオプショ" -"ンと UTF-8 文字セットを有効化します。" - -msgid "" -"In the [neutron] section, configure access parameters:" -msgstr "" -"[neutron] セクションに、アクセスパラメーターを設定します。" - -msgid "" -"In the [neutron] section, enable the metadata proxy and " -"configure the secret:" -msgstr "" -"[neutron] セクションで、メタデータプロキシーを有効化し、" -"シークレットを設定します。" - -msgid "" -"In the [oslo_concurrency] section, configure the lock " -"path:" -msgstr "" -"[oslo_concurrency] セクションにロックパスを設定します。" - -msgid "" -"In the [ovs] section, enable tunnels and configure the " -"local tunnel endpoint:" -msgstr "" -"[ovs] セクションにおいて、トンネルを有効化し、ローカルトン" -"ネルエンドポイントを設定します。" - -msgid "" -"In the [ovs] section, enable tunnels, configure the local " -"tunnel endpoint, and map the external flat provider network to the " -"br-ex external network bridge:" -msgstr "" -"[ovs] セクションにおいて、トンネルを有効化し、ローカルトン" -"ネルエンドポイントを設定し、外部フラットネットワークプロバイダーを " -"br-ex 外部ネットワークブリッジに対応づけます。" - -msgid "" -"In the [pipeline:main] section, add ceilometer:" -msgstr "" -"[pipeline:main] セクションに、ceilometer を追加します。" - -msgid "" -"In the [pipeline:main] section, enable the appropriate " -"modules:" -msgstr "" -"[pipeline:main] セクションにおいて、適切なモジュールを有効" -"化します。" - -msgid "" -"In the [publisher] section, configure the telemetry " -"secret:" -msgstr "" -"[publisher] セクションに、telemetry のシークレットを設定し" -"ます。" - -msgid "" -"In the [revoke] section, configure the SQL revocation " -"driver:" -msgstr "" -"[revoke] セクションに、SQL リボークドライバーを設定しま" -"す。" - -msgid "" -"In the [securitygroup] section, enable security groups, " -"enable ipset, and configure the OVS " -"iptables firewall driver:" -msgstr "" -"[securitygroup] セクションにおいて、セキュリティグループを" -"有効化し、ipset を有効化し、OVS iptables ファイアウォールドライバーを設定します。" - -msgid "" -"In the [service_credentials] section, configure service " -"credentials:" -msgstr "" -"[service_credentials] セクションに、サービスのクレデンシャ" -"ルを設定します。" - -msgid "" -"In the [storage-policy:0] section, configure the default " -"storage policy:" -msgstr "" -"[storage-policy:0] セクションに、デフォルトのストレージポ" -"リシーを設定します。" - -msgid "" -"In the [swift-hash] section, configure the hash path " -"prefix and suffix for your environment." -msgstr "" -"[swift-hash] セクションにおいて、お使いの環境に合わせて" -"ハッシュパスの接頭辞と接尾辞を設定します。" - -msgid "" -"In the [token] section, configure the UUID token provider " -"and Memcached driver:" -msgstr "" -"[token] セクションに、UUID トークンプロバイダーと m" -"emcache ドライバーを設定します。" - -msgid "" -"In the devices section, add a filter that accepts the " -"/dev/sdb device and rejects all other devices:" -msgstr "" -"devices セクションに、/dev/sdb デバイス" -"を許可し、他のすべてのデバイスを拒否する、フィルターを追加します。" - -msgid "Initial networks" -msgstr "初期ネットワーク" - -msgid "Initialize the database:" -msgstr "データベースを初期化します。" - -msgid "Install and configure" -msgstr "インストールと設定" - -msgid "" -"Install and configure NTP using the instructions in ." -msgstr "" -"の説明に沿って、NTP をインストールおよび" -"設定します。" - -msgid "Install and configure Block Storage volume components" -msgstr "Block Storage ボリュームコンポーネントのインストールと設定" - -msgid "Install and configure Orchestration" -msgstr "Orchestration のインストールと設定" - -msgid "Install and configure a compute node" -msgstr "コンピュートノードのインストールと設定" - -msgid "Install and configure a storage node" -msgstr "ストレージノードのインストールと設定" - -msgid "Install and configure compute node" -msgstr "コンピュートノードのインストールと設定" - -msgid "Install and configure controller node" -msgstr "コントローラーノードのインストールと設定" - -msgid "Install and configure network node" -msgstr "ネットワークノードのインストールと設定" - -msgid "Install and configure storage node components" -msgstr "ストレージノードのコンポーネントのインストールと設定" - -msgid "Install and configure the controller node" -msgstr "コントローラーノードのインストールと設定" - -msgid "Install and configure the storage nodes" -msgstr "ストレージノードのインストールと設定" - -msgid "Install required packages:" -msgstr "必要パッケージをインストールします。" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1214928. -msgid "Install the ceilometermiddleware package:" -msgstr "" -"ceilometermiddleware パッケージをインストールします。" - -msgid "" -"Install the rdo-release-kilo package to enable the RDO " -"repository:" -msgstr "" -"rdo-release-kilo パッケージをインストールし、RDO リポジト" -"リを有効化します。" - -msgid "Install the Data processing service" -msgstr "Data processing のインストール" - -msgid "Install the Database service" -msgstr "Database サービスのインストール" - -msgid "Install the Debian Wheezy OpenStack repository for Juno:" -msgstr "Debian Wheezy OpenStack Juno リポジトリをインストールします。" - -msgid "Install the LVM packages:" -msgstr "LVM パッケージをインストールします。" - -msgid "Install the MongoDB package:" -msgstr "MongoDB パッケージをインストールします。" - -msgid "Install the Ubuntu Cloud archive keyring and repository:" -msgstr "" -"Ubuntu Cloud アーカイブのキーリングとリポジトリーをインストールします。" - -msgid "Install the package:" -msgstr "パッケージをインストールします。" - -msgid "Install the packages:" -msgstr "パッケージをインストールします。" - -msgid "Install the required packages:" -msgstr "必要パッケージをインストールします。" - -msgid "Install the supporting utility packages:" -msgstr "補助ユーティリティーをインストールします。" - -msgid "Instance tunnels on 10.0.1.0/24 without a gateway" -msgstr "インスタンストンネル 10.0.1.0/24、ゲートウェイなし" - -msgid "KEYSTONE_DBPASS" -msgstr "KEYSTONE_DBPASS" - -msgid "Keep these values secret and do not change or lose them." -msgstr "これらの値を秘密にしておきます。変更したり紛失したりしてはいけません。" - -msgid "" -"Kill any existing dnsmasq " -"processes:" -msgstr "" -"既存の dnsmasq プロセスをすべて停止" -"します。" - -msgid "" -"Later on, the package will configure the below directive with the value you " -"entered:" -msgstr "後ほど、以下のディレクティブに自身で入力した値を設定します。" - -msgid "Launch an instance" -msgstr "インスタンスの起動" - -msgid "" -"Launch an instance using OpenStack " -"Networking (neutron) or legacy networking (nova-network) . For more information, see the " -"OpenStack User Guide." -msgstr "" -"OpenStack Networking (neutron) または legacy networking (nova-" -"network) を使用して、インスタンスを起動します。詳細は OpenStack エンドユーザーガイド を参照してく" -"ださい。" - -msgid "Launch an instance with OpenStack Networking (neutron)" -msgstr "OpenStack Networking (neutron) を用いたインスタンスの起動" - -msgid "Launch an instance with legacy networking (nova-network)" -msgstr "レガシーネットワーク (nova-network) を用いたインスタンスの起動" - -msgid "Launch the instance:" -msgstr "インスタンスを起動します。" - -msgid "" -"Launching a virtual machine or instance involves many interactions among " -"several services. The following diagram provides the conceptual architecture " -"of a typical OpenStack environment." -msgstr "" -"仮想マシンやインスタンスの起動には、いくつかのサービスがいくつも通信します。" -"以下の図は一般的な OpenStack 環境の概念アーキテクチャーです。" - -msgid "Legacy networking (nova-network)" -msgstr "レガシーネットワーク (nova-network)" - -msgid "" -"Legacy networking primarily involves compute nodes. However, you must " -"configure the controller node to use legacy networking." -msgstr "" -"レガシーネットワークは、主にコンピュートノードに関係します。しかしながら、レ" -"ガシーネットワークを使用するために、コントローラーノードを設定する必要があり" -"ます。" - -msgid "" -"Like a physical network, a virtual network requires a subnet assigned to it. The external network shares the same subnet and " -"gateway associated with the physical network " -"connected to the external interface on the network node. You should specify " -"an exclusive slice of this subnet for router and " -"floating IP addresses to prevent interference with other devices on the " -"external network." -msgstr "" -"物理ネットワーク同様、仮想ネットワークは関連づけるサブネットが必要です。外部ネットワークは、ネットワーク" -"ノードの外部インターフェースに接続された物理ネットワークと関連づけられた、同" -"じサブネットとゲートウェイを共有" -"します。外部ネットワークの他のデバイスと競合しないよう、このサブネットの" -"ルーター専用範囲と Floating IP ア" -"ドレスを指定すべきです。" - -msgid "" -"Like the external network, your tenant network also requires a subnet " -"attached to it. You can specify any valid subnet because the architecture " -"isolates tenant networks. By default, this subnet uses DHCP so your " -"instances can obtain IP addresses." -msgstr "" -"外部ネットワーク同様、プロジェクトネットワークも接続するサブネットが必要で" -"す。このアーキテクチャはプロジェクトネットワークを分離するため、任意の有効な" -"サブネットを指定できます。デフォルトで、このサブネットはDHCP を使用するため、" -"インスタンスが IP アドレスを取得できます。" - -msgid "" -"List API endpoints in the Identity service to verify connectivity with the " -"Identity service:" -msgstr "" -"Identity の API エンドポイントを一覧表示して、Identity への接続性を検証しま" -"す。" - -msgid "List agents to verify successful launch of the neutron agents:" -msgstr "" -"neutron エージェントが正常に起動したことを確認するために、エージェントを一覧" -"表示します。" - -msgid "List available flavors:" -msgstr "利用可能なフレーバーを一覧表示します。" - -msgid "List available images:" -msgstr "利用可能なイメージを一覧表示します。" - -msgid "" -"List available meters again to validate detection of the image download:" -msgstr "" -"再び利用可能な測定項目を一覧表示し、イメージのダウンロードを検知できるかどう" -"かを検証します。" - -msgid "List available meters:" -msgstr "利用可能な測定項目を一覧表示します。" - -msgid "List available networks:" -msgstr "利用可能なネットワークを一覧表示します。" - -msgid "List available security groups:" -msgstr "利用可能なセキュリティグループを一覧表示します。" - -msgid "List containers:" -msgstr "コンテナーを一覧表示します。" - -msgid "" -"List images in the Image service catalog to verify connectivity with the " -"Image service:" -msgstr "" -"イメージサービスカタログにあるイメージを一覧表示して、Image service への接続" -"性を検証します。" - -msgid "" -"List loaded extensions to verify successful launch of the neutron-" -"server process:" -msgstr "" -"読み込み済みエクステンションを一覧表示して、neutron-server プロセスが正しく起動していることを確認します。" - -msgid "" -"List service components to verify successful launch and registration of each " -"process:" -msgstr "" -"サービスコンポーネントを一覧表示して、各プロセスの起動と登録が正常であること" -"を確認します。" - -msgid "List service components to verify successful launch of each process:" -msgstr "" -"サービスのコンポーネントを一覧表示して、各プロセスが正しく起動していることを" -"確認します。" - -msgid "List volumes:" -msgstr "ボリュームを一覧表示します。" - -msgid "" -"Load the admin-openrc.sh file to populate environment " -"variables with the location of the Identity service and the admin project and user credentials:" -msgstr "" -"admin-openrc.sh ファイルを読み込み、環境変数に Identity " -"サービスの位置、admin プロジェクトとユーザーのクレデンシャ" -"ルを設定します。" - -msgid "MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "METADATA_SECRET" -msgstr "METADATA_SECRET" - -msgid "MYSQL_PASSWORD" -msgstr "MYSQL_PASSWORD" - -msgid "Management on 10.0.0.0/24 with gateway 10.0.0.1" -msgstr "管理ネットワーク 10.0.0.0/24、ゲートウェイ 10.0.0.1" - -msgid "Manually install python-argparse" -msgstr "python-argparse の手動インストール" - -msgid "" -"Many of the OpenStack services need to be configured to access a database. " -"These are configured through a DSN (Database Source Name) directive as " -"follows:" -msgstr "" -"多くの OpenStack サービスは、データベースにアクセスするよう設定する必要があり" -"ます。これらは、以下のとおり DSN (Database Source Name) ディレクティブ経由で" -"設定されます。" - -msgid "" -"Many users build their test environments on virtual machines (VMs). The primary benefits of " -"VMs include the following:" -msgstr "" -"多くのユーザーは、仮想マシン " -"(VM) にテスト環境を構築します。仮想マシンの主な利点は以下のとおり" -"です。" - -msgid "Message queue" -msgstr "メッセージキュー" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Hardware " -"requirements" -msgstr "" -"OpenStack Networking (neutron) を用いた最小アーキテクチャー例 - ハードウェア" -"要件" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Network " -"layout" -msgstr "" -"OpenStack Networking (neutron) を用いた最小アーキテクチャー例 - ハードウェア" -"要件" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Service " -"layout" -msgstr "" -"OpenStack Networking (neutron) を用いた最小アーキテクチャー例 - サービス配置" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Hardware " -"requirements" -msgstr "" -"レガシーネットワーク (nova-network) を用いた最小アーキテクチャー例 - ハード" -"ウェア要件" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Network " -"layout" -msgstr "" -"レガシーネットワーク (nova-network) を用いた最小アーキテクチャー例 - ネット" -"ワーク配置" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Service " -"layout" -msgstr "" -"レガシーネットワーク (nova-network) を用いた最小アーキテクチャー例 - サービ" -"ス配置" - -msgid "" -"Most OpenStack services use an SQL database to store information. The " -"database typically runs on the controller node. The procedures in this guide " -"use MariaDB or MySQL " -"depending on the distribution. OpenStack services also support other SQL " -"databases including PostgreSQL." -msgstr "" -"ほとんどの OpenStack のサービスは、情報を保存するために SQL データベースを使" -"用します。データベースは、一般的にコントローラーノードで実行します。このガイ" -"ドの手順は、ディストリビューションにより MariaDB " -"や MySQL を使用します。OpenStack のサービスは、" -"PostgreSQL などの他の " -"SQL データベースもサポートします。" - -msgid "" -"Most cloud images support public key authentication " -"rather than conventional user name/password authentication. Before launching " -"an instance, you must generate a public/private key pair using " -" and add the public key to your OpenStack environment." -msgstr "" -"多くのクラウドイメージは、慣習的なユーザー名とパスワードによる認証ではなく、" -"公開鍵認証をサ" -"ポートします。インスタンスの起動前に、 を使用して公開鍵と秘密" -"鍵のキーペアを生成し、OpenStack 環境に公開鍵を追加する必要があります。" - -msgid "" -"Most cloud images support public key authentication " -"rather than conventional user name/password authentication. Before launching " -"an instance, you must generate a public/private key pair." -msgstr "" -"多くのクラウドイメージは、慣習的なユーザー名とパスワードによる認証ではなく、" -"公開鍵認証をサ" -"ポートします。インスタンスの起動前に、公開鍵と秘密鍵のキーペアを生成する必要" -"があります。" - -msgid "Mount the devices:" -msgstr "デバイスをマウントします。" - -msgid "NETWORK_CIDR" -msgstr "NETWORK_CIDR" - -msgid "NEUTRON_DBPASS" -msgstr "NEUTRON_DBPASS" - -msgid "NEUTRON_PASS" -msgstr "NEUTRON_PASS" - -msgid "NOVA_DBPASS" -msgstr "NOVA_DBPASS" - -msgid "NOVA_PASS" -msgstr "NOVA_PASS" - -msgid "NTP_SERVER" -msgstr "NTP_SERVER" - -msgid "Name" -msgstr "名前" - -msgid "Network Node: 1 processor, 512 MB memory, and 5 GB storage" -msgstr "ネットワークノード: 1 CPU、512 MB メモリ、5 GB ストレージ" - -msgid "Network Time Protocol (NTP)" -msgstr "Network Time Protocol (NTP)" - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest number " -"and the second interface as the interface with the highest number." -msgstr "" -"ネットワークインターフェースの名前はディストリビューションにより異なります。" -"伝統的に、インターフェースは、「eth」から始まり、数字が後ろにつきます。すべて" -"の種類を取り扱うために、このガイドは単に、最小の番号を持つインターフェースと" -"して 1 番目のインターフェースを参照します。最大の番号を持つインターフェースと" -"して 2 番目のインターフェースを参照します。" - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest " -"number, the second interface as the interface with the middle number, and " -"the third interface as the interface with the highest number." -msgstr "" -"ネットワークインターフェースの名前はディストリビューションにより異なります。" -"伝統的に、インターフェースは、「eth」から始まり、数字が後ろにつきます。すべて" -"の種類を取り扱うために、このガイドは単に、最小の番号を持つインターフェースと" -"して 1 番目のインターフェースを参照します。真ん中の番号を持つインターフェース" -"として 2 番目のインターフェースを、最大の番号を持つインターフェースとして 3 " -"番目のインターフェースを参照します。" - -msgid "Network mask: 255.255.255.0 (or /24)" -msgstr "ネットマスク: 255.255.255.0 (または /24)" - -msgid "Network node" -msgstr "ネットワークノード" - -msgid "Networking" -msgstr "ネットワーク" - -msgid "" -"Networking also supports security groups. Security groups enable administrators to define firewall rules in " -"groups. A VM can belong to one or more security groups, and Networking " -"applies the rules in those security groups to block or unblock ports, port " -"ranges, or traffic types for that VM." -msgstr "" -"Networking は セキュリティグループ もサ" -"ポートします。セキュリティグループにより、管理者がグループでファイアウォール" -"ルールを定義できます。仮想マシンは 1 つ以上のセキュリティグループに属します。" -"Networking が、ポート、ポート範囲、または通信種別をブロックするかブロックしな" -"いかのために、これらのセキュリティグループにあるルールを仮想マシンに対して適" -"用します。" - -msgid "Networking concepts" -msgstr "Networking の概念" - -msgid "" -"Networking provides the networks, subnets, and routers object abstractions. " -"Each abstraction has functionality that mimics its physical counterpart: " -"networks contain subnets, and routers route traffic between different subnet " -"and networks." -msgstr "" -"Networking はネットワーク、サブネット、ルーターのオブジェクトの抽象化を提供し" -"ます。それぞれの抽象化は、対応する物理的なものの機能を模倣します。ネットワー" -"クがサブネットを含みます。ルーターがサブネットやネットワーク間の通信を中継し" -"ます。" - -msgid "" -"Next specify admin_user, admin_password and admin_tenant_name. These parameters must " -"specify a keystone user which has the admin role in the " -"given tenant. These credentials allow sahara to authenticate and authorize " -"its users." -msgstr "" -"次に、admin_useradmin_password、" -"admin_tenant_name を指定します。これらのパラメーターは、指" -"定したテナントで admin ロールを持つ keystone ユーザーを指" -"定する必要があります。これらのクレデンシャルにより、\n" -"sahara がそのユーザーを認証し、認可できるようになります。" - -msgid "Next steps" -msgstr "次の手順" - -msgid "" -"Numerous archive.gplhost.com mirrors are available around the world. All are " -"available with both FTP and HTTP protocols (you should use the closest " -"mirror). The list of mirrors is available at http://archive.gplhost.com/readme." -"mirrors." -msgstr "" -"数多くの archive.gplhost.com ミラーが世界中で利用可能です。すべて FTP と " -"HTTP のプロトコルで利用可能です (最寄りのミラーを使用すべきです)。ミラーの一" -"覧は http://" -"archive.gplhost.com/readme.mirrors にあります。" - -msgid "Object ring" -msgstr "オブジェクトリング" - -msgid "" -"Obtain a Virtual Network Computing (VNC) session URL " -"for your instance and access it from a web browser:" -msgstr "" -"このインスタンス用の Virtual Network Computing (VNC) " -"セッション URL を取得し、Web ブラウザーからアクセスします。" - -msgid "" -"Obtain the /etc/swift/swift.conf file from the Object " -"Storage source repository:" -msgstr "" -"Object Storage のソースリポジトリーから /etc/swift/swift.conf ファイルを取得します。" - -msgid "" -"Obtain the accounting, container, object, container-reconciler, and object-" -"expirer service configuration files from the Object Storage source " -"repository:" -msgstr "" -"Object Storage のソースリポジトリーからアカウント、コンテナー、オブジェクト、" -"container-reconciler、object-expirer のサービス設定ファイルを取得します。" - -msgid "" -"Obtain the proxy service configuration file from the Object Storage source " -"repository:" -msgstr "" -"プロキシーサービスの設定ファイルを Object Storage のソースディレクトリーから" -"取得します。" - -msgid "" -"On RHEL and CentOS, configure SELinux to permit the web server to connect to " -"OpenStack services:" -msgstr "" -"RHEL と CentOS の場合、Web サーバーが OpenStack サービスに接続できるよう " -"SELinux を設定します。" - -msgid "" -"On RHEL and CentOS, enable the EPEL repository:" -msgstr "" -"RHEL と CentOS の場合、EPEL リポジトリーを有効化します。" - -msgid "On RHEL, enable additional repositories using the subscription manager:" -msgstr "" -"RHEL の場合、サブスクリプションマネージャーを使用して、追加リポジトリーを有効" -"化します。" - -msgid "On SLES 12:" -msgstr "SLES 12 の場合:" - -msgid "On SLES:" -msgstr "SLES の場合:" - -msgid "On all nodes, ensure proper ownership of the configuration directory:" -msgstr "" -"すべてのノードにおいて、きちんと設定ディレクトリーに適切な所有権を設定しま" -"す。" - -msgid "On all nodes, install the Debian Wheezy backport repository Juno:" -msgstr "" -"すべてのノードで、Debian Wheezy の Juno バックポートリポジトリをインストール" -"します。" - -msgid "On openSUSE 13.2:" -msgstr "openSUSE 13.2 の場合:" - -msgid "On openSUSE:" -msgstr "openSUSE の場合:" - -msgid "" -"On the controller node, edit the /etc/nova/" -"nova.conf file and complete the following action:" -msgstr "" -"コントローラーノードで、/etc/nova/nova.conf ファイルを編集し、以下の作業を実行します。" - -msgid "" -"On the controller node, restart the Compute " -"API service:" -msgstr "" -"コントローラーノードで、Compute API サービスを再起動します。" - -msgid "" -"On the controller node and any other nodes running the proxy service, " -"restart the Object Storage proxy service including its dependencies:" -msgstr "" -"コントローラーノード、プロキシサービスを実行する全ノードにおいて、Object " -"Storage のプロキシサービスと関連サービスを再起動します。" - -msgid "" -"On the controller node and any other nodes running the proxy service, start " -"the Object Storage proxy service including its dependencies and configure " -"them to start when the system boots:" -msgstr "" -"コントローラーノード、プロキシサービスを実行する全ノードにおいて、Object " -"Storage プロキシサービスと関連サービスを起動し、システム起動時に自動的に起動" -"するよう設定します。" - -msgid "" -"On the storage nodes, start the Object Storage services and configure them " -"to start when the system boots:" -msgstr "" -"ストレージノードにおいて、Object Storage サービスを起動し、システム起動時に自" -"動的に起動するよう設定します。" - -msgid "On the storage nodes, start the Object Storage services:" -msgstr "ストレージノードにおいて、Object Storage のサービスを起動します。" - -msgid "" -"Once you configure the ML2 plug-in, changing values in the " -"type_drivers option can lead to database inconsistency." -msgstr "" -"一度 ML2 プラグインを設定すると、type_drivers オプションに" -"ある値を変更することにより、データベース不整合が発生する可能性があります。" - -msgid "" -"One physical server can support multiple nodes, each with almost any number " -"of network interfaces." -msgstr "" -"1 台の物理サーバーが複数のノードをサポートできます。それぞれ複数のネットワー" -"クインターフェースを持てます。" - -msgid "" -"Only instances can access Block Storage volumes. However, the underlying " -"operating system manages the devices associated with the volumes. By " -"default, the LVM volume scanning tool scans the /dev " -"directory for block storage devices that contain volumes. If projects use " -"LVM on their volumes, the scanning tool detects these volumes and attempts " -"to cache them which can cause a variety of problems with both the underlying " -"operating system and project volumes. You must reconfigure LVM to scan only " -"the devices that contain the cinder-volume volume group. " -"Edit the /etc/lvm/lvm.conf file and complete the " -"following actions:" -msgstr "" -"インスタンスのみが Block Storage のボリュームにアクセスできます。しかしなが" -"ら、ベースのオペレーティングシステムが、このボリュームと関連付けられたデバイ" -"スを管理します。デフォルトで、LVM ボリュームのスキャンツールは、ボリュームを" -"含むブロックストレージデバイス用の /dev ディレクトリーをス" -"キャンします。プロジェクトがこれらのボリューム上に LVM を使用している場合、ス" -"キャンツールがこれらのボリュームを検知し、それらをキャッシュしようとします。" -"これにより、ベースのオペレーティングシステムとプロジェクトボリュームの両方に" -"さまざまな問題を引き起こす可能性があります。cinder-volume " -"ボリュームグループを含むデバイスのみをスキャンするために、LVM を再設定する必" -"要があります。/etc/lvm/lvm.conf ファイルを編集し、以下の" -"作業を実行します。" - -msgid "OpenStack" -msgstr "OpenStack" - -msgid "OpenStack Foundation" -msgstr "OpenStack Foundation" - -msgid "OpenStack Installation Guide" -msgstr "OpenStack インストールガイド" - -msgid "" -"OpenStack Installation Guide for Red Hat " -"Enterprise Linux 7, CentOS 7, and Fedora 21Ubuntu 14.04Debian 7openSUSE 13.2 and SUSE Linux Enterprise Server 12" -msgstr "" -"OpenStack インストールガイド Red Hat " -"Enterprise Linux 7、CentOS 7、Fedora 21Ubuntu " -"14.04Debian 7openSUSE 13.2、SUSE Linux Enterprise Server 12 版" - -msgid "" -"OpenStack Installation Guide for " -msgstr "" -"OpenStack インストールガイド 版" - -msgid "OpenStack Networking (neutron)" -msgstr "OpenStack Networking (neutron)" - -msgid "" -"OpenStack Networking (neutron) manages all networking facets for the Virtual " -"Networking Infrastructure (VNI) and the access layer aspects of the Physical " -"Networking Infrastructure (PNI) in your OpenStack environment. OpenStack " -"Networking enables tenants to create advanced virtual network topologies " -"including services such as firewalls, load balancers, and virtual private networks (VPNs)." -msgstr "" -"OpenStack Networking (neutron) は OpenStack 環境で、仮想ネットワークインフラ" -"ストラクチャ (VNI) のすべてのネットワークファセット、物理ネットワークインフラ" -"ストラクチャ (PNI) のアクセス層の側面を管理します。OpenStack Networking によ" -"り、プロジェクトがファイアウォール負荷分散装置、" -"VPN などの" -"高度な仮想ネットワークトポロジーを作成できるようになります。" - -msgid "OpenStack ceilometer daemons" -msgstr "OpenStack ceilometer デーモン" - -msgid "OpenStack cinder daemons" -msgstr "OpenStack cinder デーモン" - -msgid "" -"OpenStack generates IDs dynamically, so you will see different values in the " -"example command output." -msgstr "" -"OpenStack は ID を動的に生成するため、このコマンド実行結果例と別の値になるで" -"しょう。" - -msgid "OpenStack glance daemons" -msgstr "OpenStack glance デーモン" - -msgid "OpenStack heat daemons" -msgstr "OpenStack heat デーモン" - -msgid "" -"OpenStack is highly configurable to meet different needs with various " -"compute, networking, and storage options. This guide enables you to choose " -"your own OpenStack adventure using a combination of core and optional " -"services. This guide uses the following example architectures:" -msgstr "" -"OpenStack は、さまざまなニーズを満たすために、さまざまなコンピュート、ネット" -"ワーク、ストレージのオプションを持ち、いろいろと設定できます。このガイドは、" -"コアサービスとオプションサービスの組み合わせを使用して、自身の OpenStack の冒" -"険を選べるようにします。このガイドは、以下のサンプルアーキテクチャを使用しま" -"す。" - -msgid "OpenStack keystone daemons" -msgstr "OpenStack keystone デーモン" - -msgid "OpenStack neutron daemons" -msgstr "OpenStack neutron デーモン" - -msgid "OpenStack nova daemons" -msgstr "OpenStack nova デーモン" - -msgid "OpenStack packages" -msgstr "OpenStack パッケージ" - -msgid "" -"OpenStack provides an Infrastructure-as-a-Service (IaaS) solution through a variety of complemental services. Each " -"service offers an application programming interface (API) that facilitates this integration. The following table provides " -"a list of OpenStack services:" -msgstr "" -"OpenStack はさまざまな相補サービスを通して Infrastructure-as-a-Service " -"(IaaS) ソリューションを提供します。各サービスはこの統" -"合を促す Application Programming Interface (API) を提" -"供します。以下の表は OpenStack サービスの一覧です。" - -msgid "" -"OpenStack reserves certain user IDs to run specific services and own " -"specific files. These user IDs are set up according to the distribution " -"packages. The following table gives an overview." -msgstr "" -"OpenStack は、特定の OpenStack サービスを実行し、特定の OpenStack ファイルを" -"所有するために、特定のユーザー ID を予約します。これらのユーザー ID はディス" -"トリビューションのパッケージにより設定されます。以下の表はその概要です。" - -msgid "" -"OpenStack services support various security methods including password, " -"policy, and encryption. Additionally, supporting services including the " -"database server and message broker support at least password security." -msgstr "" -"OpenStack は、パスワード、ポリシー、暗号化など、さまざまなセキュリティ技術を" -"サポートします。さらに、データベースサーバーやメッセージブローカーなどのサ" -"ポートサービスは、少なくともパスワードによるセキュリティをサポートします。" - -msgid "OpenStack swift daemons" -msgstr "OpenStack swift デーモン" - -msgid "OpenStack trove daemons" -msgstr "OpenStack trove デーモン" - -msgid "" -"OpenStack uses a message queue to coordinate " -"operations and status information among services. The message queue service " -"typically runs on the controller node. OpenStack supports several message " -"queue services including RabbitMQ, Qpid, " -"and ZeroMQ. However, most " -"distributions that package OpenStack support a particular message queue " -"service. This guide implements the RabbitMQ message queue service because " -"most distributions support it. If you prefer to implement a different " -"message queue service, consult the documentation associated with it." -msgstr "" -"OpenStack は、サービス間の操作と状態を調整するために、メッセージキューを使用します。メッセージキュー" -"サービスは、一般的にコントローラーノードで動作します。OpenStack は、RabbitMQ、Qpid、ZeroMQ などのメッセージキューサービスをサポートします。しかしなが" -"ら、OpenStack をパッケージ化している多くのディストリビューションは、特定の" -"メッセージキューサービスをサポートします。このガイドは、大抵のディストリ" -"ビューションがサポートする RabbitMQ メッセージキューサービスを導入します。別" -"のメッセージキューサービスを導入したければ、関連ドキュメントを確認してくださ" -"い。" - -msgid "" -"OpenStack uses three API endpoint variants for each service: admin, " -"internal, and public. The admin API endpoint allows modifying users and " -"tenants by default, while the public and internal APIs do not. In a " -"production environment, the variants might reside on separate networks that " -"service different types of users for security reasons. For instance, the " -"public API network might be reachable from outside the cloud for management " -"tools, the admin API network might be protected, while the internal API " -"network is connected to each host. Also, OpenStack supports multiple regions " -"for scalability. For simplicity, this guide uses the management network for " -"all endpoint variations and the default RegionOne region." -msgstr "" -"OpenStack は、各サービスに対して 3 種類の API エンドポイントを使用します。管" -"理 (admin)、内部 (internal)、パブリック (public) があります。デフォルトでは、" -"管理 API エンドポイントによりユーザーやテナントの変更を実行できます。パブリッ" -"ク API と内部 API は実行できません。本番環境では、セキュリティのため、異なる" -"種類のユーザーごとに分かれたネットワークに置いたほうがいいでしょう。例えば、" -"パブリック API ネットワークは、管理ツールのためにクラウドの外部からアクセスで" -"きる必要があるでしょう。管理 API ネットワークは、保護されるべきです。一方、内" -"部 API ネットワークは、各ホストに接続されます。また、OpenStack は、拡張性のた" -"めに、複数のリージョンをサポートします。簡単のため、このガイドは、すべてのエ" -"ンドポイント検証のために管理ネットワークを使用し、デフォルトの " -"RegionOne リージョンを使用します。" - -msgid "Optionally, configure the time zone:" -msgstr "オプションとして、タイムゾーンを設定します。" - -msgid "" -"Optionally, the Block Storage node runs a Telemetry agent to collect meters. " -"Also, it can contain a second network interface on a separate storage " -"network to improve performance of storage services." -msgstr "" -"オプションとして、ブロックストレージノードが Telemetry エージェントを実行して" -"データ収集できます。専用のストレージネットワークに 2 番目のネットワークイン" -"ターフェースを用いて、ストレージサービスのパフォーマンスを改善できます。" - -msgid "" -"Optionally, the compute node runs a Telemetry agent to collect meters. Also, " -"it can contain a third network interface on a separate storage network to " -"improve performance of storage services." -msgstr "" -"オプションとして、コンピュートノードが Telemetry エージェントを実行してデータ" -"収集できます。専用のストレージネットワークに 3 番目のネットワークインター" -"フェースを用いて、ストレージサービスのパフォーマンスを改善することもできま" -"す。" - -msgid "" -"Optionally, the controller node runs portions of Block Storage, Object " -"Storage, Orchestration, Telemetry, Database, and Data processing services. " -"These components provide additional features for your environment." -msgstr "" -"オプションとして、コントローラーノードは、Block Storage、Object Storage、" -"Orchestration、Telemetry、Database、Data processing の一部も実行します。これ" -"らのコンポーネントは、お使いの環境に追加機能を提供します。" - -msgid "" -"Optionally, these nodes can contain a second network interface on a separate " -"storage network to improve performance of storage services." -msgstr "" -"オプションとして、専用のストレージネットワークに 2 番目のネットワークインター" -"フェースを用いて、ストレージサービスのパフォーマンスを改善できます。" - -msgid "Other nodes" -msgstr "その他ノード" - -msgid "Overview" -msgstr "概要" - -msgid "PACKAGE-NAME" -msgstr "PACKAGE-NAME" - -msgid "PASSWORD" -msgstr "PASSWORD" - -msgid "Perform these commands on the controller node." -msgstr "これらのコマンドをコントローラーノードで実行します。" - -msgid "Perform these steps on each storage node." -msgstr "各ストレージノードにおいて以下の手順を実行します。" - -msgid "" -"Perform these steps on the controller and any other nodes that run the " -"Object Storage proxy service." -msgstr "" -"コントローラーノード、Object Storage プロキシサービスを実行する全ノードにおい" -"て、これらの手順を実行します。" - -msgid "Perform these steps on the controller node." -msgstr "コントローラーノードにおいて、これらの手順を実行します。" - -msgid "Permit ICMP (ping):" -msgstr "ICMP (ping) を許可します。" - -msgid "" -"Permit configuration, write, and read access for the openstack user:" -msgstr "openstack ユーザーの読み書きアクセスを許可します。" - -msgid "Permit secure shell (SSH) access:" -msgstr "secure shell (SSH) アクセスを許可します。" - -msgid "Populate the Block Storage database:" -msgstr "Block Storage データベースにデータを登録します。" - -msgid "Populate the Compute database:" -msgstr "Compute データベースにデータを登録します。" - -msgid "Populate the Identity service database:" -msgstr "Identity のデータベースに初期データを登録します。" - -msgid "Populate the Image service database:" -msgstr "Image のデータベースにデータを登録します。" - -msgid "Populate the Orchestration database:" -msgstr "Orchestration データベースにデータを登録します。" - -msgid "Populate the database:" -msgstr "データベースにデータを登録します。" - -msgid "Pre-seed debconf prompts" -msgstr "事前シード debconf プロンプト" - -msgid "Prepare the Database service:" -msgstr "Database サービスを準備します。" - -msgid "Prepare the trove admin database:" -msgstr "trove 管理データベースを準備します。" - -msgid "Prerequisites" -msgstr "前提" - -msgid "" -"Proceed to network configuration for the example OpenStack Networking (neutron) or legacy networking (nova-network) " -"architecture." -msgstr "" -"OpenStack Networking (neutron) または レガシーネットワーク " -"(nova-network) のアーキテクチャ例のネットワーク設定に進みます。" - -msgid "" -"Provide users with a public IP address, a username, and a password so they " -"can access the dashboard through a web browser. In case of any SSL " -"certificate connection problems, point the server IP address to a domain " -"name, and give users access." -msgstr "" -"ユーザーにパブリック IP アドレス、ユーザー名、パスワードを提供します。これに" -"より、ユーザーは Web ブラウザー経由でダッシュボードにアクセスできます。SSL 証" -"明書に関する接続問題がある場合、サーバーの IP アドレスがドメイン名を指し、" -"ユーザーにアクセスさせるようにします。" - -msgid "RABBIT_PASS" -msgstr "RABBIT_PASS" - -msgid "" -"RHEL and CentOS enable SELinux by default. Install " -"the openstack-selinux package to automatically manage " -"security policies for OpenStack services:" -msgstr "" -"RHEL と CentOS はデフォルトで SELinux を有効化します。" -"openstack-selinux パッケージをインストールして、OpenStack " -"サービスのセキュリティポリシーを自動的に管理します。" - -msgid "RabbitMQ credentials parameters" -msgstr "RabbitMQ クレデンシャルパラメーター" - -msgid "Rebalance the ring:" -msgstr "リングをリバランスします。" - -msgid "Reboot the system to activate the changes." -msgstr "変更を反映するために、システムを再起動します。" - -msgid "" -"Reconfiguring network interfaces will interrupt network connectivity. We " -"recommend using a local terminal session for these procedures." -msgstr "" -"ネットワークインターフェースを再設定すると、ネットワーク接続性が中断されま" -"す。これらの手順はローカルの端末セッションを使用することを推奨します。" - -msgid "Red Hat Enterprise Linux, CentOS, and Fedora" -msgstr "Red Hat Enterprise Linux、CentOS、Fedora" - -msgid "Register API endpoints" -msgstr "API エンドポイントの登録" - -msgid "" -"Regular (non-admin) tasks should use an unprivileged project and user. As an " -"example, this guide creates the demo project and user." -msgstr "" -"通常の (非管理) 作業は、非特権プロジェクトとユーザーを使用すべきです。例とし" -"て、このガイドは demo プロジェクトとユーザーを作成します。" - -msgid "Reload the web server configuration:" -msgstr "Web サーバーの設定を再読み込みします。" - -msgid "" -"Remove the /var/lib/ntp/ntp.conf.dhcp file if it exists." -msgstr "" -"/var/lib/ntp/ntp.conf.dhcp が存在すれば、削除します。" - -msgid "" -"Remove the previously downloaded image file /tmp/cirros.img:" -msgstr "" -"前にダウンロードしたイメージファイル /tmp/cirros.img を" -"削除します。" - -msgid "Remove the temporary local directory and source image:" -msgstr "一時ローカルディレクトリーとソースイメージを削除します。" - -msgid "" -"Repeat this command for each storage device on each storage node. In the " -"example architecture, use the command in four variations:" -msgstr "" -"各ストレージノードの各ストレージデバイスごとに、このコマンドを繰り返します。" -"このアーキテクチャー例は、このコマンドを 4 種類使用します。" - -msgid "" -"Replace ADMIN_PASS with the password you chose for the " -"admin user in the Identity service." -msgstr "" -"ADMIN_PASS を Identity において admin " -"ユーザー用に選択したパスワードで置き換えます。" - -msgid "" -"Replace DEMO_PASS with the password you chose for the " -"demo user in the Identity service." -msgstr "" -"DEMO_PASS を Identity において demo " -"ユーザー用に選択したパスワードで置き換えます。" - -msgid "" -"Replace NOVA_PASS with the password you chose for the " -"nova user in the Identity service." -msgstr "" -"NOVA_PASS を Identity において nova " -"ユーザー用に選択したパスワードで置き換えます。" - -msgid "" -"Replace ADMIN_TOKEN with the authentication token " -"that you generated in . For example:" -msgstr "" -"ADMIN_TOKEN で生成した認証トークンに置き換えます。例:" - -msgid "" -"Replace ADMIN_TOKEN with the random value that " -"you generated in a previous step." -msgstr "" -"ADMIN_TOKEN を前の手順で生成したランダム値で置き換" -"えます。" - -msgid "" -"Replace CEILOMETER_DBPASS with a suitable " -"password." -msgstr "" -"CEILOMETER_DBPASS を適切なパスワードで置き換えま" -"す。" - -msgid "" -"Replace CEILOMETER_DBPASS with the password you " -"chose for the Telemetry module database. You must escape special characters " -"such as ':', '/', '+', and '@' in the connection string in accordance with " -"RFC2396." -msgstr "" -"CEILOMETER_DBPASS を Telemetry 用モジュールデータ" -"ベース用に選択したパスワードで置き換えます。RFC2396 に従ったコネクション文字" -"列において、「:」「/」「+」「@」などの特別な文字列をエスケープする必要があり" -"ます。" - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the ceilometer user in the Identity service." -msgstr "" -"CEILOMETER_PASS を Identity において " -"ceilometer ユーザー用に選択したパスワードで置き換えます。" - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the Telemetry module database." -msgstr "" -"CEILOMETER_PASS を Telemetry 用モジュールデータ" -"ベース用に選択したパスワードで置き換えます。" - -msgid "" -"Replace CINDER_DBPASS with a suitable password." -msgstr "" -"CINDER_DBPASS を適切なパスワードで置き換えます。" - -msgid "" -"Replace CINDER_DBPASS with the password you chose " -"for the Block Storage database." -msgstr "" -"CINDER_DBPASS を Block Storage データベース用に選" -"択したパスワードで置き換えます。" - -msgid "" -"Replace CINDER_PASS with the password you chose " -"for the cinder user in the Identity service." -msgstr "" -"CINDER_PASS を Identity において cinder ユーザー用に選択したパスワードで置き換えます。" - -msgid "" -"Replace DEMO_NET_ID with the ID of the " -"demo-net tenant network." -msgstr "" -"DEMO_NET_IDdemo-net プロ" -"ジェクトネットワークの ID で置き換えます。" - -msgid "" -"Replace FILE with the name of a local file to " -"upload to the demo-container1 container." -msgstr "" -"FILE をローカルファイルの名前で置き換え、" -"demo-container1 コンテナーにアップロードします。" - -msgid "" -"Replace FILE with the name of the file uploaded " -"to the demo-container1 container." -msgstr "" -"FILEdemo-container1 コンテ" -"ナーにアップロードしたファイルの名前に置き換えます。" - -msgid "" -"Replace FLOATING_IP_START and " -"FLOATING_IP_END with the first and last IP " -"addresses of the range that you want to allocate for floating IP addresses. " -"Replace EXTERNAL_NETWORK_CIDR with the subnet " -"associated with the physical network. Replace " -"EXTERNAL_NETWORK_GATEWAY with the gateway " -"associated with the physical network, typically the \".1\" IP address. You " -"should disable DHCP on this subnet because instances " -"do not connect directly to the external network and floating IP addresses " -"require manual assignment." -msgstr "" -"FLOATING_IP_START と " -"FLOATING_IP_END を、Floating IP アドレスに割り当て" -"たい IP アドレス範囲の開始アドレスと終了アドレスで置き換えます。" -"EXTERNAL_NETWORK_CIDR を物理ネットワークに関連づけ" -"られたサブネットで置き換えます。EXTERNAL_NETWORK_GATEWAY を物理ネットワークに関連づけられたゲートウェイで置き換えます。一" -"般的に「.1」の IP アドレスを使用します。インスタンスは外部ネットワークに直接" -"接続せず、Floating IP アドレスは手動で割り当てる必要があるため、このサブネッ" -"トで DHCP を無効化すべきです。" - -msgid "" -"Replace GLANCE_DBPASS with a suitable password." -msgstr "" -"GLANCE_PASS を適切なパスワードに置き換えます。" - -msgid "" -"Replace GLANCE_DBPASS with the password you chose " -"for the Image service database." -msgstr "" -"GLANCE_PASS を Image service データベース用に選ん" -"だパスワードで置き換えます。" - -msgid "" -"Replace GLANCE_PASS with the password you chose " -"for the glance user in the Identity service." -msgstr "" -"Identity で glance ユーザー用に選択したパスワードで " -"GLANCE_PASS を置き換えます。" - -msgid "" -"Replace HASH_PATH_PREFIX and " -"HASH_PATH_SUFFIX with unique values." -msgstr "" -"HASH_PATH_PREFIX と " -"HASH_PATH_SUFFIX を一意な値で置き換えます。" - -msgid "" -"Replace HEAT_DBPASS with a suitable password." -msgstr "" -"HEAT_PASS を適切なパスワードに置き換えます。" - -msgid "" -"Replace HEAT_DBPASS with the password you chose " -"for the Orchestration database." -msgstr "" -"HEAT_PASS を Orchestration データベース用に選んだ" -"パスワードで置き換えます。" - -msgid "" -"Replace HEAT_DOMAIN_PASS with a suitable password." -msgstr "" -"HEAT_DOMAIN_PASS を適切なパスワードに置き換えま" -"す。" - -msgid "" -"Replace HEAT_DOMAIN_PASS with the password you " -"chose for the admin user of the heat user domain in the " -"Identity service." -msgstr "" -"Identity で heat ユーザードメインの管理ユーザー用に選択し" -"たパスワードで HEAT_DOMAIN_PASS を置き換えます。" - -msgid "" -"Replace HEAT_PASS with the password you chose for " -"the heat user in the Identity service." -msgstr "" -"Identity で heat ユーザー用に選択したパスワードで " -"HEAT_PASS を置き換えます。" - -msgid "" -"Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"with the IP address of the instance tunnels network interface on your " -"compute node." -msgstr "" -"コンピュートノードのインスタンストンネルネットワークインターフェースの IP ア" -"ドレスで INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS を" -"置き換えます。" - -msgid "" -"Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"with the IP address of the instance tunnels network interface on your " -"network node." -msgstr "" -"ネットワークノードのインスタンストンネルネットワークインターフェースの IP ア" -"ドレスで INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS を" -"置き換えます。" - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name for the external network. For example, eth1 or " -"ens224. You can also leave these two parameters " -"undefined if you are serving multiple networks with individual bridges for " -"each." -msgstr "" -"INTERFACE_NAME を外部ネットワーク用の実際のイン" -"ターフェース名で置き換えます。例えば、eth1 や " -"ens224 です。それぞれ独立したブリッジを持つ複数のネット" -"ワークを利用している場合、これらの 2 つのパラメーターを未定義のままにしておく" -"こともできます。" - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth1 or ens224." -msgstr "" -"INTERFACE_NAME を実際のインターフェース名で置き換" -"えます。例えば、eth1ens224 で" -"す。" - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth2 or ens256." -msgstr "" -"INTERFACE_NAME を実際のインターフェース名で置き換" -"えます。例えば、eth2ens256 で" -"す。" - -msgid "" -"Replace KEYSTONE_DBPASS with a suitable password." -msgstr "" -"KEYSTONE_DBPASS を適切なパスワードに置き換えます。" - -msgid "" -"Replace KEYSTONE_DBPASS with the password you " -"chose for the database." -msgstr "" -"KEYSTONE_DBPASS をデータベース用に選んだパスワード" -"で置き換えます。" - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your compute node, " -"typically 10.0.0.31 for the first node in the example architecture." -msgstr "" -"MANAGEMENT_INTERFACE_IP_ADDRESS をコンピュートノー" -"ドの管理ネットワークインターフェースの IP アドレスに置き換えます。一般的に、" -"アーキテクチャー例にある 1 番目のノードは 10.0.0.31 です。" - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your storage node, " -"typically 10.0.0.41 for the first node in the example architecture." -msgstr "" -"MANAGEMENT_INTERFACE_IP_ADDRESS をストレージノード" -"の管理ネットワークインターフェースの IP アドレスに置き換えます。一般的に、" -"アーキテクチャー例にある 1 番目のノードは 10.0.0.41 です。" - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network on the storage node." -msgstr "" -"MANAGEMENT_INTERFACE_IP_ADDRESS をストレージノード" -"の管理ネットワークの IP アドレスで置き換えます。" - -msgid "" -"Replace METADATA_SECRET with a suitable secret " -"for the metadata proxy." -msgstr "" -"METADATA_SECRET をメタデータプロキシー用に適切な" -"シークレットで置き換えます。" - -msgid "" -"Replace METADATA_SECRET with the secret you chose " -"for the metadata proxy." -msgstr "" -"メタデータプロキシ用に選択した適切なシークレットで " -"METADATA_SECRET を置き換えます。" - -msgid "" -"Replace NETWORK_CIDR with the subnet associated " -"with the physical network." -msgstr "" -"NETWORK_CIDR を物理ネットワークのサブネットに置き" -"換えます。" - -msgid "" -"Replace NEUTRON_DBPASS with a suitable password." -msgstr "" -"NEUTRON_PASS を適切なパスワードに置き換えます。" - -msgid "" -"Replace NEUTRON_DBPASS with the password you " -"chose for the database." -msgstr "" -"NEUTRON_PASS をデータベース用に選んだパスワードで" -"置き換えます。" - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"for the neutron user in the Identity service." -msgstr "" -"Identity で neutron ユーザー用に選択したパスワードで " -"NEUTRON_PASS を置き換えます。" - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"or the neutron user in the Identity service." -msgstr "" -"NEUTRON_PASS を Identity において " -"neutron ユーザー用に選択したパスワードで置き換えます。" - -msgid "" -"Replace NOVA_DBPASS with a suitable password." -msgstr "" -"NOVA_DBPASS を適切なパスワードに置き換えます。" - -msgid "" -"Replace NOVA_DBPASS with the password you chose " -"for the Compute database." -msgstr "" -"NOVA_DBPASS を Compute データベース用に選んだパス" -"ワードで置き換えます。" - -msgid "" -"Replace NOVA_PASS with the password you chose for " -"the nova user in the Identity service." -msgstr "" -"Identity で nova ユーザー用に選択したパスワードで " -"NOVA_PASS を置き換えます。" - -msgid "" -"Replace NTP_SERVER with the hostname or IP " -"address of a suitable more accurate (lower stratum) NTP server. The " -"configuration supports multiple server keys." -msgstr "" -"NTP_SERVER をできる限り正確な(低ストラタム値)" -"NTP サーバーのホスト名か IP アドレスに置き換えます。複数の server キーを設定することもできます。" - -msgid "" -"Replace RABBIT_PASS with a suitable password." -msgstr "" -"RABBIT_PASS を適切なパスワードに置き換えます。" - -msgid "" -"Replace RABBIT_PASS with the password you chose " -"for the openstack account in RabbitMQ." -msgstr "" -"RABBIT_PASSRabbitMQopenstack アカウント用に選択したパスワード" -"で置き換えます。" - -msgid "" -"Replace SAHARA_DBPASS with a suitable password." -msgstr "" -"SAHARA_DBPASS を適切なパスワードで置き換えます。" - -msgid "" -"Replace STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network on the storage " -"node. Replace DEVICE_NAME with a storage device " -"name on the same storage node. For example, using the first storage node in " -" with the /dev/sdb1 storage device and weight of 100:" -msgstr "" -"STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS をス" -"トレージノードの管理ネットワークの IP アドレスに置き換えます。" -"DEVICE_NAME を同じストレージノードのストレージデバ" -"イス名に置き換えます。例えば、 " -"にある 1 番目のストレージノードを使用して、/dev/sdb1 スト" -"レージデバイス、ウェイト 100 にします。" - -msgid "" -"Replace SWIFT_PASS with the password you chose " -"for the swift user in the Identity service." -msgstr "" -"SWIFT_PASS を Identity において swift ユーザー用に選択したパスワードで置き換えます。" - -msgid "" -"Replace TELEMETRY_SECRET with the telemetry " -"secret that you generated in a previous step." -msgstr "" -"TELEMETRY_SECRET を前の手順で生成した telemetry の" -"シークレットで置き換えます。" - -msgid "" -"Replace TELEMETRY_SECRET with the telemetry " -"secret you chose for the Telemetry module." -msgstr "" -"TELEMETRY_SECRET を Telemetry モジュール用に選択し" -"た telemetry シークレットで置き換えます。" - -msgid "" -"Replace TENANT_NETWORK_CIDR with the subnet you " -"want to associate with the tenant network and " -"TENANT_NETWORK_GATEWAY with the gateway you want " -"to associate with it, typically the \".1\" IP address." -msgstr "" -"TENANT_NETWORK_CIDR をテナントネットワークに関連付" -"けたいサブネットに置き換えます。TENANT_NETWORK_GATEWAY をそれに関連付けたいゲートウェイに置き換えます。一般的に「.1」" -"の IP アドレスです。" - -msgid "" -"Replace TIME_ZONE with an appropriate time zone " -"identifier. For more information, see the list of time zones." -msgstr "" -"TIME_ZONE を適切なタイムゾーン識別子に置き換えま" -"す。詳細は タイムゾーン一覧 を参照してください。" - -msgid "Request an authentication token:" -msgstr "認証トークンを要求します。" - -msgid "Reserved user IDs" -msgstr "予約済みユーザー ID" - -msgid "" -"Respond to prompts for database " -"management, Identity " -"service credentials, service " -"endpoint registration, and message " -"broker credentials." -msgstr "" -"データベース管理、Identity のクレデンシャル、" -"サービスエンドポイント登録、" -"メッセージブローカーのクレデンシャルに関するプロンプトに答えます。" - -msgid "" -"Respond to prompts for database " -"management, Identity " -"service credentials, service " -"endpoint registration, and message " -"queue credentials." -msgstr "" -"データベース管理、Identity のクレデンシャル、" -"サービスエンドポイント登録、" -"メッセージキューのクレデンシャルに" -"関するプロンプトに答えます。" - -msgid "" -"Respond to prompts for , which " -"will fill the below database access directive." -msgstr "" -" プロンプトに答えます。これは、以" -"下のデータベースアクセスのディレクティブを入力します。" - -msgid "Respond to prompts for web server configuration." -msgstr "Web サーバー設定のプロンプトに入力します。" - -msgid "" -"Respond to the prompts for database management and [keystone_authtoken] settings, and API endpoint registration. The " -" command runs automatically." -msgstr "" -"データベース管理、[keystone_authtoken] 設定、API エンドポイ" -"ント登録に関するプロンプトに答えます。 コマンドが自動" -"的に実行されます。" - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials.." -msgstr "" -"データベース管理、Identity のクレデンシャル、" -"サービスエンドポイント登録、" -"メッセージブローカーのクレデンシャルに関するプロンプトに答えます。" - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials." -msgstr "" -"データベース管理、Identity のクレデンシャル、" -"サービスエンドポイント登録、" -"メッセージブローカーのクレデンシャルに関するプロンプトに答えます。" - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message queue credentials.." -msgstr "" -"データベース管理、Identity のクレデンシャル、" -"サービスエンドポイント登録、" -"メッセージキューのクレデンシャルに" -"関するプロンプトに答えます。" - -msgid "Restart the Apache HTTP server:" -msgstr "Apache HTTP Server を再起動します。" - -msgid "Restart the Block Storage services on the controller node:" -msgstr "コントローラーノードで Block Storage のサービスを再起動します。" - -msgid "Restart the Block Storage services on the storage nodes:" -msgstr "ストレージノードで Block Storage のサービスを再起動します。" - -msgid "Restart the Block Storage services:" -msgstr "Block Storage サービスを再起動します。" - -msgid "Restart the Block Storage volume service including its dependencies:" -msgstr "Block Storage と関連サービスを再起動します。" - -msgid "Restart the Compute service:" -msgstr "Compute Service を再起動します。" - -msgid "Restart the Compute services:" -msgstr "Compute のサービスを再起動します。" - -msgid "Restart the Database services:" -msgstr "Database のサービスを再起動します。" - -msgid "Restart the Image service services:" -msgstr "Image service のサービスを再起動します。" - -msgid "Restart the Image service:" -msgstr "Image サービスを再起動します。" - -msgid "Restart the MongoDB service:" -msgstr "MongoDB サービスを再起動します。" - -msgid "Restart the NTP service:" -msgstr "NTP サービスを再起動します。" - -msgid "Restart the Networking service:" -msgstr "Networking のサービスを再起動します。" - -msgid "Restart the Networking services:" -msgstr "Networking サービスを再起動します。" - -msgid "Restart the OVS service:" -msgstr "OVS サービスを再起動します。" - -msgid "Restart the Object Storage proxy service:" -msgstr "Object Storage プロキシサービスを再起動します。" - -msgid "Restart the Open vSwitch (OVS) agent:" -msgstr "Open vSwitch (OVS) エージェントを再起動します。" - -msgid "Restart the Orchestration services:" -msgstr "Orchestration を再起動します。" - -msgid "Restart the Telemetry services:" -msgstr "Telemetry のサービスを再起動します。" - -msgid "Restart the agent:" -msgstr "エージェントを再起動します。" - -msgid "Restart the database service:" -msgstr "データベースサービスを再起動します。" - -msgid "Restart the services:" -msgstr "サービスを再起動します。" - -msgid "Retrieve the sahara clusters list:" -msgstr "sahara クラスター一覧を取得します。" - -msgid "Retrieve the trove instances list:" -msgstr "trove インスタンスの一覧を取得します。" - -msgid "" -"Retrieve usage statistics from the image.download meter:" -msgstr "image.download メーターの利用状況を取得します。" - -msgid "Run the following command to install the packages:" -msgstr "パッケージをインストールするために、以下のコマンドを実行します。" - -msgid "Run the following commands to install the packages:" -msgstr "パッケージをインストールするために以下のコマンドを実行します。" - -msgid "Run this command on all other nodes:" -msgstr "このコマンドを他のすべてのノードで実行します。" - -msgid "Run this command on the controller node:" -msgstr "このコマンドをコントローラーノードで実行します。" - -msgid "SAHARA_DBPASS" -msgstr "SAHARA_DBPASS" - -msgid "SQL database" -msgstr "SQL データベース" - -msgid "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "SUSE does not use a separate ML2 plug-in package." -msgstr "SUSE は ML2 プラグイン固有のパッケージを使用しません。" - -msgid "SWIFT_PASS" -msgstr "SWIFT_PASS" - -msgid "" -"Secure the database service including choosing a suitable password for the " -"root account:" -msgstr "" -"データベースの root アカウントに適切なパスワードを選択するなど、データベース" -"サービスをセキュア化します。" - -msgid "Secure the database service:" -msgstr "データベースサービスをセキュア化します。" - -msgid "Security" -msgstr "セキュリティ" - -msgid "" -"Select the keystone pipeline to configure the Image " -"service to use the Identity service:" -msgstr "" -"keystone パイプラインを選択し、Image service が Identity " -"を使用するよう設定します。" - -msgid "Select the ML2 plug-in:" -msgstr "ML2 プラグインを選択します。" - -msgid "" -"Selecting the ML2 plug-in also populates the and " -" options in the /etc/neutron/neutron.conf file with the appropriate values." -msgstr "" -"ML2 プラグインを選択することにより、/etc/neutron/neutron.conf ファイルのオプション にも適切" -"な値が入ります。" - -msgid "Services and the [keystone_authtoken]" -msgstr "サービスと [keystone_authtoken]" - -msgid "" -"Set the hostname of the node to controller." -msgstr "" -"ノードのホスト名を controller に設定" -"します。" - -msgid "Set the hostname of the node to compute1." -msgstr "ノードのホスト名を compute1 に設定します。" - -msgid "Set the hostname of the node to network." -msgstr "ノードのホスト名を network に設定します。" - -msgid "Set the hostname of the node to block1." -msgstr "ノードのホスト名を block1 に設定します。" - -msgid "Set the hostname of the node to object1." -msgstr "ノードのホスト名を object1 に設定します。" - -msgid "Set the hostname of the node to object2." -msgstr "ノードのホスト名を object2 に設定します。" - -msgid "" -"Set up session storage. See section Set up session storage for the dashboard in the OpenStack Cloud Administrator Guide for " -"information on user session data." -msgstr "" -"セッションストレージをセットアップします。ユーザーセッションデータに関する詳" -"細は、OpenStack Cloud Administrator Guide の " -"Set up session storage for the " -"dashboard セクションを参照してください。" - -msgid "Show the service status:" -msgstr "サービスの状態を表示します。" - -msgid "" -"So, if using Debian, you wont need to care about database creation, access " -"rights and character sets. All that is handled for you by the packages." -msgstr "" -"そのため、Debian を使用する場合、データベースの作成、アクセス権の設定、文字" -"コードセットについて気をつける必要がありません。必要なことはすべてのパッケー" -"ジにより処理されます。" - -msgid "" -"Some OpenStack packages generate and assign user IDs automatically during " -"package installation. In these cases, the user ID value is not important. " -"The existence of the user ID is what matters." -msgstr "" -"いくつかの OpenStack パッケージはインストール中にユーザー ID を自動的に生成" -"し、割り当てます。これらのケースで、ユーザー ID 値が重要ではありません。ユー" -"ザー ID の存在が重要です。" - -msgid "" -"Some cloud images ignore the DHCP MTU option in which case you should " -"configure it using metadata, a script, or another suitable method." -msgstr "" -"いくつかのクラウドイメージは、メタデータ、スクリプト、他の適切な方法を使用す" -"るよう設定している場合、DHCP MTU オプションを無視します。" - -msgid "" -"Some distributions add an extraneous entry in the /etc/hosts file that resolves the actual hostname to another loopback IP " -"address such as 127.0.1.1. You must comment out or remove " -"this entry to prevent name resolution problems." -msgstr "" -"いくつかのディストリビューションは、/etc/hosts ファイル" -"に無関係な項目を追加します。これは、実際のホスト名を別のループバック IP アド" -"レス 127.0.1.1 などに名前解決します。名前解決の問題を防ぐ" -"ために、この項目をコメントアウトまたは削除する必要があります。" - -msgid "Some distributions include LVM by default." -msgstr "いくつかのディストリビューションは、デフォルトで LVM を含みます。" - -msgid "Source the demo-openrc.sh file." -msgstr "demo-openrc.sh ファイルを読み込みます。" - -msgid "" -"Source the admin credentials to gain access to admin-only " -"CLI commands." -msgstr "" -"admin クレデンシャルを読み込み、管理者専用 CLI コマンドの" -"アクセス権を取得します。" - -msgid "" -"Source the admin credentials to gain access to admin-only " -"CLI commands:" -msgstr "" -"admin クレデンシャルを読み込み、管理者専用 CLI コマンドへ" -"のアクセス権を取得します。" - -msgid "Source the admin tenant credentials:" -msgstr "admin プロジェクトのクレデンシャルを読み込みます。" - -msgid "" -"Source the demo credentials to gain access to user-only " -"CLI commands:" -msgstr "" -"demo クレデンシャルを読み込み、ユーザー専用 CLI コマンドの" -"アクセス権を取得します。" - -msgid "" -"Source the demo credentials to perform the following " -"steps as a non-administrative project:" -msgstr "" -"demo クレデンシャルを読み込み、非管理プロジェクトとして以" -"下の手順を実行します。" - -msgid "Source the demo credentials:" -msgstr "demo クレデンシャルを読み込みます。" - -msgid "Source the demo tenant credentials:" -msgstr "demo プロジェクトのクレデンシャルを読み込みます。" - -msgid "Start the rsync service:" -msgstr "" -"rsync サービスを起動します。" - -msgid "" -"Start the rsyncd service and " -"configure it to start when the system boots:" -msgstr "" -"rsyncd サービスを起動し、システム" -"起動時に起動するよう設定します。" - -msgid "" -"Start the Block Storage services and configure them to start when the system " -"boots:" -msgstr "" -"Block Storage サービスを起動し、システム起動時に自動的に起動するよう設定しま" -"す。" - -msgid "" -"Start the Block Storage volume service including its dependencies and " -"configure them to start when the system boots:" -msgstr "" -"Block Storage と関連サービスを起動し、システム起動時に自動的に起動するよう設" -"定します。" - -msgid "" -"Start the Compute service including its dependencies and configure them to " -"start automatically when the system boots:" -msgstr "" -"Compute サービスおよび関連するサービスを起動します。また、それらのサービスが" -"システム起動時に自動的に起動するよう設定します。" - -msgid "" -"Start the Compute services and configure them to start when the system boots:" -msgstr "Compute サービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the Data processing service and configure it to start when the system " -"boots: " -msgstr "" -"Data processing サービスを起動し、システム起動時に自動的に起動するよう設定し" -"ます。" - -msgid "" -"Start the Database services and configure them to start when the system " -"boots:" -msgstr "" -"Database のサービスを起動し、システム起動時に自動的に起動するよう設定します。" - -msgid "" -"Start the Image service services and configure them to start when the system " -"boots:" -msgstr "" -"Image service のサービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the LVM metadata service and configure it to start when the system " -"boots:" -msgstr "" -"LVM メタデータサービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the Memcached service and configure it to start when the system boots:" -msgstr "Memcached サービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the MongoDB services and configure them to start when the system boots:" -msgstr "" -"MongoDB のサービスを起動し、システム起動時に自動的に起動するよう設定します。" - -msgid "Start the NTP service and configure it to start when the system boots:" -msgstr "NTP サービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the Networking service and configure it to start when the system boots:" -msgstr "Networking サービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the Networking services and configure them to start when the system " -"boots:" -msgstr "Networking サービスを起動し、システム起動時に起動するよう設定します。" - -msgid "Start the OVS service and configure it to start when the system boots:" -msgstr "OVS サービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the Open vSwitch (OVS) agent and configure it to start when the system " -"boots:" -msgstr "" -"Open vSwitch エージェントを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the Orchestration services and configure them to start when the system " -"boots:" -msgstr "" -"Orchestration サービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the Telemetry agent and configure it to start when the system boots:" -msgstr "" -"Telemetry エージェントを起動し、システム起動時に自動的に起動するよう設定しま" -"す。" - -msgid "" -"Start the Telemetry services and configure them to start when the system " -"boots:" -msgstr "" -"Telemetry サービスを起動し、システム起動時に自動的に起動するよう設定します。" - -msgid "" -"Start the database service and configure it to start when the system boots:" -msgstr "" -"データベースサービスを起動し、システム起動時に自動的に起動するよう設定しま" -"す。" - -msgid "" -"Start the message queue service and configure it to start when the system " -"boots:" -msgstr "" -"メッセージキューサービスを起動し、システム起動時に起動するよう設定します。" - -msgid "Start the services and configure them to start when the system boots:" -msgstr "サービスを起動し、システム起動時に起動するよう設定します。" - -msgid "" -"Start the web server and session storage service and configure them to start " -"when the system boots:" -msgstr "" -"Web サーバーとセッションストレージを起動し、システム起動時に起動するよう設定" -"します。" - -msgid "" -"Switch to the [DEFAULT] section. Proceed to the " -"networking parameters. If you are using Neutron for networking, then set " -"use_neutron=true. Otherwise if you are using " -"nova-network set the given parameter to " -"false." -msgstr "" -"[DEFAULT] セクションに切り替えます。ネットワークのパラメー" -"ターに進みます。ネットワークに Neutron を使用している場合、" -"use_neutron=true を設定します。そうではなく、" -"nova-network を使用している場合、そのパラメーターに " -"false を設定します。" - -msgid "" -"Switch to the [keystone_authtoken] section. The " -" option should point to the public Identity API endpoint. " -" should point to the admin Identity API endpoint. For " -"example: " -msgstr "" -"[keystone_authtoken] セクションに切り替えます。" -" オプションは、Identity API パブリックエンドポイントを指し示" -"すべきです。 は Identity API 管理エンドポイントを指し示すべき" -"です。例: " - -msgid "TELEMETRY_SECRET" -msgstr "TELEMETRY_SECRET" - -msgid "TENANT_NETWORK_CIDR" -msgstr "TENANT_NETWORK_CIDR" - -msgid "TENANT_NETWORK_GATEWAY" -msgstr "TENANT_NETWORK_GATEWAY" - -msgid "TIME_ZONE" -msgstr "TIME_ZONE" - -msgid "TROVE_DBPASS" -msgstr "TROVE_DBPASS" - -msgid "TROVE_PASS" -msgstr "TROVE_PASS" - -msgid "" -"Telemetry provides a framework for monitoring and metering the OpenStack " -"cloud. It is also known as the ceilometer project." -msgstr "" -"Telemetry は OpenStack クラウドのモニタリングとメータリングのフレームワークを" -"提供します。これは Ceilometer プロジェクトとしても知られています。" - -msgid "" -"Telemetry uses a combination of notifications and an agent to collect " -"Compute meters. Perform these steps on each compute node." -msgstr "" -"Telemetry は、通知とエージェントの組み合わせを使用して、Compute の測定項目を" -"収集します。各コンピュートノードで以下の作業を実行します。" - -msgid "Tenant network" -msgstr "テナントネットワーク" - -msgid "" -"That should be enough for the first run. If you want to increase logging " -"level for troubleshooting, there are two parameters in the config: " -"verbose and debug. If the former is " -"set to true, sahara will start to write logs of " -"INFO level and above. If debug is set " -"to true, sahara will write all the logs, including the " -"DEBUG ones." -msgstr "" -"始めて実行するには、これで十分です。トラブルシューティングのためにログレベル" -"を上げたい場合、verbosedebug とい" -"う 2 つの設定パラメーターがあります。前者が true に設定さ" -"れている場合、sahara は INFO レベル以上のログを書き込みま" -"す。後者が true に設定されている場合、sahara は " -"DEBUG レベルを含め、すべてのログを書き込みます。" - -msgid "" -"The seen true option tells debconf that a " -"specified screen was already seen by the user so do not show it again. This " -"option is useful for upgrades." -msgstr "" -"seen true オプションにより、指定された画面がすでにユーザーにより" -"参照されたことを debconf に通知します。そのため、それを再" -"び表示しません。このオプションはアップグレードのために有用です。" - -msgid "" -"The metadata agent " -"provides configuration information such as credentials to instances." -msgstr "" -"メタデータエージェントは、" -"インスタンスへのクレデンシャルなどの設定情報を提供します。" - -msgid "" -"The controller node runs the Identity service, Image Service, management portions of " -"Compute and Networking, Networking plug-in, and the dashboard. It also " -"includes supporting services such as a SQL database, message " -"queue, and Network Time Protocol (NTP)." -msgstr "" -"基本的なコントローラーノードは、Identity、Image service、および Compute、Networking、" -"Networking プラグインの管理コンポーネント、ダッシュボードを実行します。SQL " -"データベース、メッセージキューNetwork Time Protocol (NTP) のようなサポー" -"トサービスも含まれます。" - -msgid "" -"The controller node runs the Identity service, Image service, management portion of " -"Compute, and the dashboard. It also includes supporting services such as a " -"SQL database, message queue, and Network " -"Time Protocol (NTP)." -msgstr "" -"基本的なコントローラーノードは、Identity、Image service、および Computeの管理コンポーネント、" -"ダッシュボードを実行します。SQL データベース、メッセージキューNetwork Time Protocol " -"(NTP) のようなサポートサービスも含まれます。" - -msgid "" -"The DHCP agent provides DHCP services for virtual " -"networks." -msgstr "" -"DHCP エージェント は、仮想ネッ" -"トワーク向けに DHCP サービスを提供します。" - -msgid "" -"The Juno release is available only in Debian " -"Experimental (otherwise called rc-buggy), as Jessie is frozen soon, and will " -"contain Icehouse. However, the Debian maintainers of OpenStack also maintain " -"a non-official Debian repository for OpenStack containing Wheezy backports." -msgstr "" -"Juno リリースは Debian Experimental (rc-buggy とも言い" -"ます) のみで利用できます。Jessie はもうすぐ凍結されるので、Icehouse を含みま" -"す。しかしながら、OpenStack の Debian メンテナーは、Wheezy バックポートを含" -"む OpenStack の非公式 Debian リポジトリをメンテナンスしています。" - -msgid "" -"The Layer-3 (L3) agent provides routing services for " -"virtual networks." -msgstr "" -"L3 エージェント は、仮想ネットワーク用のルーティング" -"サービスを提供します。" - -msgid "" -"The OpenStack project is an open source cloud " -"computing platform that supports all types of cloud environments. The " -"project aims for simple implementation, massive scalability, and a rich set " -"of features. Cloud computing experts from around the world contribute to the " -"project." -msgstr "" -"OpenStack プロジェクトは、あらゆる種類のクラウド環境を" -"サポートする、オープンソースのクラウドコンピューティングプラットフォームで" -"す。シンプルな実装、大規模なスケーラビリティ、豊富な機能を目指しています。世" -"界中のクラウドコンピューティング技術者がプロジェクトに貢献しています。" - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. Compute also provisions tenant networks and provides firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"コンピュートノードは、" -"プロジェクト仮想マシンやインスタンスを運転する " -"Compute のハイパーバイザー部分" -"を実行します。Compute はハイパーバイザーと" -"して標準で KVM を使" -"用します。Compute はプロジェクトのネットワークを配備し、ファイアウォール " -"(セキュリティグループ) " -"サービスを提供します。複数のコンピュートノードを実行することもできます。" - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. The compute node also runs the Networking plug-in and an agent " -"that connect tenant networks to instances and provide firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"コンピュートノードは、" -"プロジェクト仮想マシンやインスタンスを運転する " -"Compute のハイパーバイザー部分" -"を実行します。Compute はハイパーバイザーと" -"して標準で KVM を使" -"用します。コンピュートノードは、Networking プラグイン、テナントネットワークを" -"インスタンスに接続するエージェントを実行します。また、ファイアウォール " -"(セキュリティグループ) " -"サービスを提供します。複数のコンピュートノードを実行することもできます。" - -msgid "" -"The launch an instance chapter " -"includes instructions for attaching this volume to an instance." -msgstr "" -"インスタンスの起動の章に、このボ" -"リュームをインスタンスに接続する方法の説明があります。" - -msgid "" -"The external_network_bridge option intentionally lacks a " -"value to enable multiple external networks on a single agent." -msgstr "" -"external_network_bridge オプションは、1 つのエージェントに" -"複数の外部ネットワークを有効化する値が内部的に欠けています。" - -msgid "" -"The swift client requires the -V 3 " -"parameter to use the Identity version 3 API." -msgstr "" -"swift クライアントは、Identity バージョン 3 API を使用する" -"ために、-V 3 パラメーターを必要とします。" - -msgid "" -"The dbconfig-common package will configure MySQL for " -"these access rights, and create the database for you. Since OpenStack " -"2014.1.1, all OpenStack packages in Debian are performing the following " -"MySQL query after database creation (if you decide to use MySQL as a back-" -"end):" -msgstr "" -"dbconfig-common パッケージは、これらのアクセス権のために " -"MySQL を設定し、データベースを作成します。OpenStack 2014.1.1 以降、Debian の" -"すべての OpenStack パッケージは、データベース作成後に以下の MySQL クエリーを" -"実行します (MySQL をバックエンドとして使用する場合)。" - -msgid "" -"The heat-common package and not the heat-api package configures the Orchestration service." -msgstr "" -"heat-api パッケージではなく、heat-common パッケージが Orchestration Service を設定します。" - -msgid "" -"The call on openSUSE outputs a warning message when the " -"service uses SysV Init scripts instead of native systemd files. This warning " -"can be ignored." -msgstr "" -"openSUSE において を実行すると、サービスがネイティブの " -"systemd の代わりに SysV Init スクリプトを使用するとき、警告メッセージが表示さ" -"れます。この警告は無視できます。" - -msgid "" -"The rsync service requires no " -"authentication, so consider running it on a private network." -msgstr "" -"rsync サービスは、認証が必要ないた" -"め、プライベートネットワークで実行することを考慮してください。" - -msgid "The Block Storage service creates logical volumes in this volume group." -msgstr "" -"Block Storage のサービスが、このボリュームグループ内に論理ボリュームを作成し" -"ます。" - -msgid "" -"The Block Storage service requires both the volume and " -"volumev2 services. However, both services use the same " -"API endpoint that references the Block Storage version 2 API." -msgstr "" -"Block Storage サービスは、volumevolumev2 のサービスを必要とします。しかしながら、どちらのサービスも、Block " -"Storage バージョン 2 API を参照する、同じ API を使用します。" - -msgid "" -"The CirrOS image includes conventional user name/password authentication and " -"provides these credentials at the login prompt. After logging into CirrOS, " -"we recommend that you verify network connectivity using ." -msgstr "" -"CirrOS イメージは、慣習的なユーザー名とパスワードによる認証があり、これらのク" -"レデンシャルをログインプロンプトに表示しています。CirrOS にログイン後、" -" を使用してネットワーク接続性を検証することを推奨します。" - -msgid "" -"The Data processing service (sahara) enables users to provide a scalable " -"data processing stack and associated management interfaces. This includes " -"provisioning and operation of data processing clusters as well as scheduling " -"and operation of data processing jobs." -msgstr "" -"Data processing (sahara) は、スケーラブルなデータ処理スタックと関連する管理イ" -"ンターフェースをユーザーに提供できます。これには、データ処理クラスターの展開" -"および運用、データ処理ジョブのスケジュールおよび運用を含みます。" - -msgid "" -"The Debian OpenStack packages are maintained on Debian Sid (also known as " -"Debian Unstable) - the current development version. Backported packages run " -"correctly on Debian Wheezy with one caveat:" -msgstr "" -"Debian OpenStack パッケージは Debian Sid (Debian 不安定版としても知られ、現在" -"の開発バージョン) でメンテナンスされています。バックポートされたパッケージは" -"一つ注意して Debian Wheezy で正しく動作します。" - -msgid "" -"The Debian OpenStack packages offer automation for this, so OpenStack users " -"do not have to manually edit the configuration files." -msgstr "" -"Debian OpenStack パッケージがこれを自動化するため、OpenStack ユーザーは設定" -"ファイルを手動で編集する必要がありません。" - -msgid "" -"The Debian package post installation scripts will then perform the below " -"commands for you:" -msgstr "" -"Debian パッケージのインストール後スクリプトにより、以下のコマンドが実行されま" -"す。" - -msgid "The Debian packages" -msgstr "Debian パッケージ" - -msgid "" -"The ID of the demo-volume1 volume should indicate " -"in-use status by the ID of the demo-instance1 instance." -msgstr "" -"demo-volume1 ボリューム の ID は、demo-" -"instance1 インスタンスの ID により使用中状態に" -"なっているでしょう。" - -msgid "" -"The Identity Service is installed with MySQL as the database back end, " -"keystonedb as database name, and the localhost socket " -"file. The corresponding DNS will then be:" -msgstr "" -"Identity Service は、データベースバックエンドとして MySQL、データベース名とし" -"て keystonedb、ローカルホストのソケットファイルと一緒にイ" -"ンストールされます。対応する DNS は以下のようになるでしょう。" - -msgid "" -"The Identity service manages a catalog of API endpoints associated with the " -"services in your OpenStack environment. Services use this catalog to " -"determine how to communicate with other services in your environment." -msgstr "" -"Identity サービスは、OpenStack 環境にあるサービスに関連づけられた API エンド" -"ポイントのカタログを管理します。サービスは、このカタログを使用して、環境内の" -"他のサービスと通信する方法を判断します。" - -msgid "" -"The Identity service manages a catalog of services in your OpenStack " -"environment. Services use this catalog to determine the other services " -"available in your environment." -msgstr "" -"Identity サービスは、OpenStack 環境にあるサービスのカタログを管理します。サー" -"ビスは、このカタログを使用して、利用できる他のサービスを判断します。" - -msgid "" -"The Identity service provides authentication services for each OpenStack " -"service. The authentication service uses a combination of domains, projects (tenants), users, and roles." -msgstr "" -"Identity は OpenStack の各サービスに認証サービスを提供します。認証サービス" -"は、ドメインプロジェクト (テナント)、ユーザーロールを使" -"用します。" - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances." -msgstr "" -"ML2 プラグインは、Open vSwitch (OVS) メカニズム (エージェント) を使用して、インスタンス用の仮想ネット" -"ワークのフレームワークを構築します。" - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances. However, the controller node does not need the OVS " -"components because it does not handle instance network traffic." -msgstr "" -"ML2 プラグインは、Open vSwitch (OVS) メカニズム (エージェント) を使用して、インスタンス用の仮想ネット" -"ワークのフレームワークを構築します。しかしながら、コントローラーノードは、イ" -"ンスタンスのネットワーク通信を処理しないので、OVS コンポーネントを必要としま" -"せん。" - -msgid "" -"The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the " -"virtual networking framework for instances." -msgstr "" -"ML2 プラグインは、インスタンスの仮想ネットワークフレームワークを構築するため" -"に、Open vSwitch 機能 (エージェント) を使用します。" - -msgid "" -"The Networking common component configuration includes the authentication " -"mechanism, message queue, and plug-in." -msgstr "" -"Networking の共通コンポーネントの設定は、認証メカニズム、メッセージキュー、プ" -"ラグインがあります。" - -msgid "" -"The Networking server component configuration includes the database, " -"authentication mechanism, message queue, topology change notifications, and " -"plug-in." -msgstr "" -"Networking のサーバーコンポーネントの設定は、データベース、認証メカニズム、" -"メッセージキュー、トポロジー変更通知、プラグインを含みます。" - -msgid "" -"The Networking service initialization scripts expect a symbolic link " -"/etc/neutron/plugin.ini pointing to the ML2 plug-in " -"configuration file, /etc/neutron/plugins/ml2/ml2_conf.ini. If this symbolic link does not exist, create it using the " -"following command:" -msgstr "" -"Networking のサービス初期化スクリプトは、シンボリックリンク /etc/" -"neutron/plugin.ini が ML2 プラグイン設定ファイル /etc/" -"neutron/plugins/ml2/ml2_conf.ini を指し示すことを期待します。この" -"シンボリックリンクが存在しなければ、以下のコマンドを使用して作成します。" - -msgid "" -"The Networking service initialization scripts expect the variable " -"NEUTRON_PLUGIN_CONF in the /etc/sysconfig/" -"neutron file to reference the ML2 plug-in configuration file. " -"Edit the /etc/sysconfig/neutron file and add the " -"following:" -msgstr "" -"Networking のサービス初期化スクリプトは、ML2 プラグイン設定ファイルを参照する" -"ために、/etc/sysconfig/neutron ファイルに " -"NEUTRON_PLUGIN_CONF 変数があることを期待します。" -"/etc/sysconfig/neutron ファイルを編集し、以下を追加しま" -"す。" - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances." -msgstr "" -"OVS サービスは、バックエンドの仮想ネットワークフレームワークをインスタンスに" -"提供します。" - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances. The integration bridge br-int handles internal " -"instance network traffic within OVS. The external bridge br-ex handles external instance network traffic within OVS. The external " -"bridge requires a port on the physical external network interface to provide " -"instances with external network access. In essence, this port connects the " -"virtual and physical external networks in your environment." -msgstr "" -"OVS サービスは、バックエンドの仮想ネットワークフレームワークをインスタンスに" -"提供します。統合ブリッジ br-int は OVS 内のインスタンスの" -"内部ネットワーク通信を処理します。外部ブリッジ br-ex は " -"OVS 内のインスタンスの外部ネットワーク通信を処理します。外部ブリッジは、イン" -"スタンスに外部ネットワークアクセスを提供するために、外部物理ネットワークイン" -"ターフェースにポートが必要です。このポートは根本的に、お使いの環境で仮想外部" -"ネットワークと物理外部ネットワークを接続します。" - -msgid "" -"The Object Storage service does not use a SQL database on the controller " -"node. Instead, it uses distributed SQLite databases on each storage node." -msgstr "" -"Object Storage サービスは、コントローラーノードの SQL データベースを使用しま" -"せん。代わりに、各ストレージノードの分散 SQLite データベースを使用します。" - -msgid "" -"The OpenStack Image service (glance) enables users to discover, register, " -"and retrieve virtual machine images. It offers a REST API that enables you to query virtual machine " -"image metadata and retrieve an actual image. You can store virtual machine " -"images made available through the Image service in a variety of locations, " -"from simple file systems to object-storage systems like OpenStack Object " -"Storage." -msgstr "" -"OpenStack Image service (glance) により、ユーザーが仮想マシンイメージを検索、" -"登録、取得できるようになります。仮想マシンイメージを問い合わせ、実際のイメー" -"ジを取得できるよう、REST API を提" -"供します。Image service 経由で利用可能な仮想マシンイメージは、単なるファイル" -"システムから OpenStack Object Storage のようなオブジェクトストレージシステム" -"まで、さまざまな場所に保存できます。" - -msgid "" -"The OpenStack Object Storage services (swift) work together to provide " -"object storage and retrieval through a REST API. Your environment must at least include the Identity service " -"(keystone) prior to deploying Object Storage." -msgstr "" -"OpenStack Object Storage (swift) は一緒に動作して、REST API 経由でオブジェクトストレージを提供および取得" -"します。Object Storage を導入する前に、お使いの環境に Identity (keystone) を" -"少なくとも 1 つ準備しておく必要があります。" - -msgid "" -"The OpenStack dashboard, also known as Horizon, is a Web interface " -"that enables cloud administrators and users to manage various OpenStack " -"resources and services." -msgstr "" -"OpenStack dashboard は Horizon としても知られ、クラウド管理者やユーザーが" -"さまざまな OpenStack のリソースとサービスを管理できるようになるウェブインター" -"フェースです。" - -msgid "" -"The OpenStack® system consists of several key projects that you install " -"separately. These projects work together depending on your cloud needs. " -"These projects include Compute, Identity Service, Networking, Image Service, " -"Block Storage, Object Storage, Telemetry, Orchestration, and Database. You " -"can install any of these projects separately and configure them stand-alone " -"or as connected entities. This guide walks through an " -"installation by using packages available through Debian 7 (code name: " -"Wheezy).This guide walks through an " -"installation by using packages available through Ubuntu 14.04.This guide shows you how to install " -"OpenStack by using packages available through Fedora 21 as well as on Red " -"Hat Enterprise Linux 7 and its derivatives through the EPEL repository.This guide shows you how to install " -"OpenStack by using packages on openSUSE 13.2 and SUSE Linux Enterprise " -"Server 12 through the Open Build Service Cloud repository. " -"Explanations of configuration options and sample configuration files are " -"included." -msgstr "" -"OpenStack® システムはいくつかの主要なプロジェクトから構成されます。これらは" -"別々にインストールできます。これらのプロジェクトは、クラウドの要件に応じて一" -"緒に使用できます。Compute、Identity Service、Networking、Image Service、" -"Block Storage、Object Storage、Telemetry、Orchestration、Database がありま" -"す。これらのプロジェクトを別々にインストールできます。スタンドアローンまたは" -"全体を接続するよう設定できます。このガイドは Debian 7 " -"(コード名: Wheezy) で利用可能なパッケージを使用してインストールしていきます。" -"このガイドは Ubuntu 14.04 で利用可能なパッケー" -"ジを使用してインストールしていきます。このガイドは EPEL リポジトリから Fedora 21、Red Hat Enterprise " -"Linux、その派生物で利用可能なパッケージを使用して OpenStack をインストールす" -"る方法を説明します。Open Build Service " -"Cloud リポジトリから openSUSE 13.2、SUSE Linux Enterprise Server 12 で利用可" -"能なパッケージを使用して OpenStack をインストールする方法を説明します。設定オプションの説明とサンプル設定ファイルが含まれます。" - -msgid "" -"The Orchestration module (heat) uses a heat orchestration template (HOT) to " -"create and manage cloud resources." -msgstr "" -"Orchestration モジュール (heat) は、クラウドリソースを作成して管理するため" -"に、heat オーケストレーション言語 (HOT) を使用します。" - -msgid "" -"The Orchestration module uses templates to describe stacks. To learn about " -"the template language, see the Template Guide in the " -"Heat " -"developer documentation." -msgstr "" -"Orchestration モジュールは、スタックを記載するためにテンプレートを使用しま" -"す。テンプレート言語を学習するために、Heat 開発者ドキュメントの Template Guide を参照してください。" - -msgid "" -"The Orchestration service automatically assigns the " -"heat_stack_user role to users that it creates during " -"stack deployment. By default, this role restricts API " -"operations. To avoid conflicts, do not add this role to users with the " -"heat_stack_owner role." -msgstr "" -"Orchestration は、スタックの配備中に作成されるユーザーに、自動的に " -"heat_stack_user ロールを割り当てます。このロールはデフォル" -"トで API 操作を制限します。競合を避けるために、この" -"ロールを heat_stack_owner ロールを持つユーザーに追加しない" -"でください。" - -msgid "The Python MySQL library is compatible with MariaDB." -msgstr "Python MySQL ライブラリは MariaDB と互換性があります。" - -msgid "" -"The Telemetry chapter provides an Image service configuration that enables " -"notifications." -msgstr "Telemetry の章に通知を有効化する Image service の設定があります。" - -msgid "" -"The Telemetry service requires access to the Object Storage service using " -"the ResellerAdmin role. Perform these steps on the " -"controller node." -msgstr "" -"Telemetry は、ResellerAdmin ロールを使用して Object " -"Storage にアクセスする必要があります。コントローラーノードで以下の手順を実行" -"します。" - -msgid "" -"The account server uses the account ring to maintain lists of containers." -msgstr "" -"アカウントサーバーは、コンテナー一覧を維持するために、アカウントリングを使用" -"します。" - -msgid "" -"The automatic configuration process generates a self-signed SSL certificate. " -"Consider obtaining an official certificate for production environments." -msgstr "" -"自動設定プロセスにより、自己署名 SSL 証明書を生成できます。本番環境向けに公式" -"な証明書を取得することを検討します。" - -msgid "" -"The compute node handles connectivity and security groups for instances." -msgstr "" -"コンピュートノードは、インスタンスの接続性とセキュリティグループを処理します。" - -msgid "" -"The container server uses the container ring to maintain lists of objects. " -"However, it does not track object locations." -msgstr "" -"コンテナーサーバーは、オブジェクト一覧を維持するために、コンテナーリングを使" -"用します。しかしながら、オブジェクトの位置を追跡しません。" - -msgid "" -"The dashboard enables web-based interactions with the OpenStack Compute " -"cloud controller through the OpenStack APIs." -msgstr "" -"Dashboard は OpenStack API を経由して OpenStack Compute クラウドコントロー" -"ラーとウェブベースで操作できます。" - -msgid "" -"The debconf system helps users configure the auth_uri, " -"identity_uri, admin_tenant_name, admin_user and admin_password options." -msgstr "" -"debconf システムは、ユーザーが auth_uriidentity_uriadmin_tenant_nameadmin_user、" -"admin_password オプションを設定する役に立ちます。" - -msgid "" -"The draft version of this guide focuses on the future Liberty release and " -"will not work for the current Kilo release. If you want to install Kilo, you " -"must use the Kilo version of this guide instead." -msgstr "" -"このガイドのドラフトバージョンは、将来の Liberty リリースに注力し、現行の " -"Kilo リリースに対応していないかもしれません。Kilo をインストールしたい場合、" -"このガイドの Kilo バージョンを使用する必要があります。" - -msgid "The example architecture assumes use of the following networks:" -msgstr "" -"このアーキテクチャー例は、以下のネットワークを使用することを仮定します。" - -msgid "" -"The example architecture with OpenStack Networking (neutron) requires one " -"controller node, one network node, and at least one compute node. The " -"controller node contains one network interface on the management " -"network. The network node contains one network interface on the " -"management network, one on the instance tunnels network, and one on the external network. The " -"compute node contains one network interface on the management network and " -"one on the instance tunnels network." -msgstr "" -"この OpenStack Networking (neutron) を持つアーキテクチャ例は、1 つのコント" -"ローラーノード、1 つのネットワークノード、最低 1 つのコンピュートノードを必要" -"とします。コントローラーノードは、" -"管理ネットワークに 1 つのネットワークインターフェースを持ちます。" -"ネットワークノードは、管理ネットワークに 1 つのネットワークインターフェース" -"を、インスタンストンネルネッ" -"トワークに 1 つを、外部" -"ネットワークに 1 つを持ちます。コンピュートノードは、管理ネット" -"ワークに 1 つのインターフェースを、インスタンストンネルネットワークに 1 つを" -"持ちます。" - -msgid "" -"The example architecture with legacy networking (nova-network) requires a " -"controller node and at least one compute node. The controller node contains " -"one network interface on the management network. The " -"compute node contains one network interface on the management network and " -"one on the external network." -msgstr "" -"このレガシーネットワーク (nova-network) を持つアーキテクチャ例は、コントロー" -"ラーと最低 1 つのコンピュートノードを必要とします。コントローラーノードは、" -"管理ネットワークに 1 " -"つのネットワークインターフェースを持ちます。コンピュートノードは、管理ネット" -"ワークに 1 つのネットワークインターフェースを、外部ネットワークに 1 つを持ちます。" - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the second interface as the external interface:" -msgstr "" -"外部インターフェースは、IP アドレスを割り当てない特別な設定を使用します。外部" -"インターフェースとして 2 番目のインターフェースを設定します。" - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the third interface as the external interface:" -msgstr "" -"外部インターフェースは、IP アドレスを割り当てない特別な設定を使用します。外部" -"インターフェースとして 3 番目のインターフェースを設定します。" - -msgid "" -"The external network typically provides Internet access for your instances. " -"By default, this network only allows Internet access from instances using Network Address Translation (NAT). You can enable Internet access to " -"individual instances using a floating IP address and " -"suitable security group rules. The admin tenant owns this network because it provides external network " -"access for multiple tenants." -msgstr "" -"一般的に外部ネットワークにより、インスタンスにインターネットアクセスが提供さ" -"れます。デフォルトでこのネットワークのみにより、インスタンスから NAT を使用して、インターネットへのアクセスが許可されます。Floating IP アドレスと適切な" -"セキュリティグループルール" -"を使用して、個々のインスタンスへとインターネットからアク" -"セス可能にできます。admin プロジェクトは、複数のプロジェク" -"トに対して外部ネットワークを提供するため、このネットワークを所有します。" - -msgid "" -"The following example shows how to pre-seed an automated MySQL Server " -"installation:" -msgstr "" -"以下の例は MySQL サーバーの自動インストールを事前シードする方法を示します。" - -msgid "The following screens show an example Image service configuration:" -msgstr "以下の画面は Image サービスの設定例です。" - -msgid "" -"The following table provides a list of services that require passwords and " -"their associated references in the guide:
    Passwords
    Password nameDescription
    Database password (no " -"variable used)Root password for the database
    ADMIN_PASSPassword of user admin
    CEILOMETER_DBPASSDatabase password for the Telemetry service
    CEILOMETER_PASSPassword of Telemetry service user ceilometer
    CINDER_DBPASSDatabase password for the Block Storage service
    CINDER_PASSPassword of Block Storage service user cinder
    DASH_DBPASSDatabase password for the dashboard
    DEMO_PASSPassword of user demo
    GLANCE_DBPASSDatabase password for Image service
    GLANCE_PASSPassword of Image service user glance
    HEAT_DBPASSDatabase password for the Orchestration service
    HEAT_DOMAIN_PASSPassword of Orchestration domain
    HEAT_PASSPassword of Orchestration service user heat
    KEYSTONE_DBPASSDatabase password of Identity service
    NEUTRON_DBPASSDatabase password for the Networking service
    NEUTRON_PASSPassword of Networking service user neutron
    NOVA_DBPASSDatabase password for Compute service
    NOVA_PASSPassword of Compute service user nova
    RABBIT_PASSPassword of user guest of RabbitMQ
    SAHARA_DBPASSDatabase password of Data processing service
    SWIFT_PASSPassword of Object Storage service user swift
    TROVE_DBPASSDatabase password of Database service
    TROVE_PASSPassword of Database service user trove
    " -msgstr "" -"以下の表は、このガイドでパスワードを必要とするサービスと関連するものの一覧で" -"す。
    パスワード
    パスワー" -"ド名説明
    データベースパスワード (変" -"数を使用しません)データベースの root パスワード
    ADMIN_PASSadmin ユーザーのパスワード
    CEILOMETER_DBPASSTelemetry サービスのデータベースパスワード
    CEILOMETER_PASSTelemetry サービスの ceilometer ユーザーのパスワー" -"ド
    CINDER_DBPASSBlock Storage サービスのデータベースパスワード
    CINDER_PASSBlock Storage サービスの cinder ユーザーのパスワー" -"ド
    DASH_DBPASSdashboard のデータベースパスワード
    DEMO_PASSdemo ユーザーのパスワード
    GLANCE_DBPASSImage service のデータベースパスワード
    GLANCE_PASSImage service の glance ユーザーのパスワード
    HEAT_DBPASSOrchestration のデータベースパスワード
    HEAT_DOMAIN_PASSOrchestration のデータベースパスワード
    HEAT_PASSOrchestration の heat ユーザーのパスワード
    KEYSTONE_DBPASSIdentity サービスのデータベースパスワード
    NEUTRON_DBPASSNetworking サービスのデータベースパスワード
    NEUTRON_PASSNetworking サービスの neutron ユーザーのパスワード" -"
    NOVA_DBPASSCompute サービスのデータベースパスワード
    NOVA_PASSCompute サービスの nova ユーザーのパスワード
    RABBIT_PASSRabbitMQ の guest ユーザーのパスワード
    SAHARA_DBPASSData processing サービスのデータベースパスワード
    SWIFT_PASSObject Storage サービスの swift ユーザーのパスワー" -"ド
    TROVE_DBPASSDatabase サービスのデータベースパスワード
    TROVE_PASSDatabase service の trove ユーザーのパスワード
    " - -msgid "The installation process for this package can take a while." -msgstr "このパッケージのインストールは、少し時間がかかる可能性があります。" - -msgid "" -"The network node primarily handles internal and external routing and " -"DHCP services for virtual networks." -msgstr "" -"ネットワークノードは、仮想ネットワークの内部と外部のルーティング、" -"DHCP サービスをおもに処理します。" - -msgid "" -"The network node runs the Networking plug-in and several agents that " -"provision tenant networks and provide switching, routing, NAT, and " -"DHCP services. This node also handles external " -"(Internet) connectivity for tenant virtual machine instances." -msgstr "" -"ネットワークノードは Networking プラグインといくつかのエージェントを実行しま" -"す。これらは、スイッチング、ルーティング、NATDHCP を提" -"供します。また、このノードは、プロジェクトの仮想マシン向けに外部 (インター" -"ネット) 接続を処理します。" - -msgid "" -"The object server uses the object ring to maintain lists of object locations " -"on local devices." -msgstr "" -"オブジェクトサーバーは、ローカルデバイスのおけるオブジェクトの位置の一覧を維" -"持するために、オブジェクトリングを使用します。" - -msgid "" -"The optional Block Storage node contains the disks that the Block Storage " -"service provisions for tenant virtual machine instances. You can run more " -"than one of these nodes." -msgstr "" -"オプションの Block Storage ノードは、Block Storage がテナントの仮想マシンイン" -"スタンスのために配備するディスクを持ちます。これらの複数のノードを実行できま" -"す。" - -msgid "" -"The optional Object Storage nodes contain the disks that the Object Storage " -"service uses for storing accounts, containers, and objects. You can run more " -"than two of these nodes. However, the minimal architecture example requires " -"two nodes." -msgstr "" -"オプションの Object Storage ノードは、Object Storage がアカウント、コンテ" -"ナー、オブジェクトを保存するために使用するディスクを持ちます。これらのノード" -"を複数動作させられます。しかしながら、最小アーキテクチャーの例は、ノード 2 つ" -"だけ必要とします。" - -msgid "The other directives concerning RabbitMQ will stay untouched." -msgstr "他の RabbitMQ に関するディレクティブは、そのままにしておきます。" - -msgid "" -"The packages already contain a cron job under /etc/cron.hourly/" -"keystone, so it is not necessary to manually configure a periodic " -"task that purges expired tokens." -msgstr "" -"パッケージが /etc/cron.hourly/keystone に cron ジョブを" -"持ちます。そのため、期限切れトークンを完全削除する定期タスクを手動設定する必" -"要がありません。" - -msgid "" -"The packages are signed by GPG key 893A90DAD85F9316. You should verify the " -"fingerprint of the imported GPG key before using it." -msgstr "" -"パッケージは GPG キー 893A90DAD85F9316 を用いて署名されています。使用する前に" -"インポートした GPG キーのフィンガープリントを検証すべきです。" - -msgid "" -"The packages are signed by GPG key 562111AC05905EA8. You " -"should verify the fingerprint of the imported GPG key before using it." -msgstr "" -"パッケージは GPG キー 562111AC05905EA8 を用いて署名されて" -"います。使用する前にインポートした GPG キーのフィンガープリントを検証すべきで" -"す。" - -msgid "" -"The packages can automatically create the service entity and API endpoint." -msgstr "" -"パッケージが自動的にサービスエンティティーと API エンドポイントを作成します。" - -msgid "" -"The packages do not require pre-depends. If dbconfig-common is already installed on the system, the user " -"sees all prompts. However, you cannot define the order in which the " -"debconf screens appear. The user " -"must make sense of it even if the prompts appear in an illogical order." -msgstr "" -"パッケージは事前の依存関係を必要としません。dbconfig-common がすでにシステムにインストールされていれば、" -"すべてのプロンプトが表示されます。しかしながら、debconf 画面が表示される順番を定義できません。プロンプトが非" -"論理的な順番で表示されたときでさえ、ユーザーはその意味を理解する必要がありま" -"す。" - -msgid "" -"The rules described here are from the Debian Policy Manual. " -"If any rule described in this chapter is not respected, you have found a " -"serious bug that must be fixed." -msgstr "" -"ここに記載されたルールは Debian Policy Manual からのものです。" -"本章に記載された何らかのルールが関係しなければ、修正すべき深刻なバグを見つけ" -"ましたことになります。" - -msgid "" -"The status changes from BUILD to ACTIVE when your instance finishes the build process." -msgstr "" -"インスタンスのビルドプロセス完了後、状態が BUILD から " -"ACTIVE に変わります。" - -msgid "" -"The storage node runs many Object Storage services and the " -"command makes them easier to manage. You can ignore errors from services not " -"running on the storage node." -msgstr "" -"ストレージノードは、多くの Object Storage サービスを実行します。" -" コマンドにより容易に管理できます。ストレージノードにおいて実" -"行していないサービスのエラーは無視できます。" - -msgid "" -"The tenant network provides internal network access for instances. The " -"architecture isolates this type of network from other tenants. The " -"demo tenant owns this network because it only provides " -"network access for instances within it." -msgstr "" -"プロジェクトネットワークは、インスタンス用の内部ネットワークアクセスを提供し" -"ます。このアーキテクチャは、この種のネットワークを他のプロジェクトと分離しま" -"す。demo プロジェクトは、プロジェクト内のインスタンスのみ" -"にネットワークアクセスを提供するため、このネットワークを所有します。" - -msgid "" -"The values of AUTH_TOKEN, KEYSTONE_ENDPOINT_IP, PKG_ENDPOINT_IP and REGION_NAME depend on the answer you will provide to the debconf prompts. But " -"the values of SERVICE_NAME, SERVICE_TYPE, SERVICE_DESC and SERVICE_URL " -"are already pre-wired in each package, so you don't have to remember them." -msgstr "" -"AUTH_TOKENKEYSTONE_ENDPOINT_IP、" -"PKG_ENDPOINT_IPREGION_NAME の値は、" -"debconf プロンプトの回答により決められます。しかし、SERVICE_NAMESERVICE_TYPESERVICE_DESC、" -"SERVICE_URL の値は、各パッケージに事前設定されています。そ" -"のため、覚えておく必要がありません。" - -msgid "" -"Then, debconf does not prompt you." -msgstr "" -"そして、debconf がプロンプトを表示" -"しなくなります。" - -msgid "" -"These debconf screens appear in: ceilometer-" -"common, cinder-common, glance-common, " -"heat-common, neutron-common and nova-common." -msgstr "" -"これらの debconf 画面が次のもので表示されます。ceilometer-commoncinder-" -"commonglance-commonheat-common、" -"neutron-commonnova-common。" - -msgid "" -"These screens appear when you re-configure the dbconfig-common package:" -msgstr "" -"これらの画面は dbconfig-common パッケージを再設定するとき" -"に表示されます。" - -msgid "" -"These steps reference example components created in previous chapters. You " -"must adjust certain values such as IP addresses to match your environment." -msgstr "" -"これらの手順は、ここまでの章で作成したコンポーネント例を参照します。お使いの" -"環境に合わせるために、IP アドレスなどの具体的な値を調整する必要があります。" - -msgid "" -"This connection directive will be handled by the " -"dbconfig-common package, which provides a standard Debian " -"interface. It enables you to configure Debian database parameters. It " -"includes localized prompts for many languages and it supports the following " -"database backends: SQLite, MySQL, and PostgreSQL." -msgstr "" -"この connection ディレクティブは、dbconfig-" -"common パッケージにより処理されます。これは、Debian のデータベース" -"パラメーターを設定できる、標準的な Debian インターフェースを提供します。これ" -"は多くの言語に翻訳されたプロンプトを持ち、以下のデータベースバックエンド " -"SQLite、MySQL、PostgreSQL をサポートします。" - -msgid "" -"This calls the post-installation script for the PACKAGE-NAME package after the user responds to all prompts. If you cannot " -"install a Debian package in a non-interactive way, you have found a release-" -"critical bug in Debian. Report it to the Debian bug tracking system." -msgstr "" -"これはユーザーがすべてのプロンプトに答えた後、PACKAGE-NAME パッケージ用のインストール後スクリプトを呼び出します。非対話的な" -"方法で Debian パッケージをインストールできない場合、Debian で深刻なリリースの" -"バグを見つけたことになります。Debian のバグ追跡システムに報告してください。" - -msgid "This caveat applies to most OpenStack packages in Wheezy." -msgstr "この注意事項は Wheezy 上の多くの OpenStack パッケージに適用されます。" - -msgid "" -"This chapter assumes that you already have a working OpenStack environment " -"with at least the following components installed: Compute, Image service, " -"Identity." -msgstr "" -"本章は、すでに OpenStack 環境が動作していること、少なくとも Compute、Image " -"service、Identity がインストールされていることを仮定しています。" - -msgid "" -"This chapter explains how to configure each node in the example architectures " -"including the two-node architecture with legacy networking and three-node architecture " -"with OpenStack Networking (neutron)." -msgstr "" -"本章は、アーキテクチャー" -"例にある各ノードを設定する方法について説明します。 レガシーネットワークを持" -"つ 2 ノードアーキテクチャーとOpenStack Networking (neutron) を持つ 3 ノード" -"アーキテクチャーがあります。" - -msgid "" -"This chapter explains how to install and configure either OpenStack " -"Networking (neutron), or the legacy nova-" -"network component. The nova-" -"network service enables you to deploy one network type per " -"instance and is suitable for basic network functionality. OpenStack " -"Networking enables you to deploy multiple network types per instance and " -"includes plug-ins for a variety " -"of products that support virtual networking." -msgstr "" -"本章は、OpenStack Networking (neutron) またはレガシー nova-network コンポーネントをインストールして設定す" -"る方法について説明します。nova-network サービスは、インスタンスごとに 1 種類のネットワーク形式を配備で" -"き、基本的なネットワーク機能に適しています。OpenStack Networking は、インスタ" -"ンスごとに複数のネットワーク形式を配備でき、仮想ネットワークをサポートするさまざまな製品向けの" -"プラグインを含みます。" - -msgid "" -"This chapter explains how to use the Debian debconf and dbconfig-common packages to configure OpenStack services. These packages enable " -"users to perform configuration tasks. When users install OpenStack packages, " -"debconf prompts the user for responses, which seed the " -"contents of configuration files associated with that package. After package " -"installation, users can update the configuration of a package by using the " -" program." -msgstr "" -"本章は OpenStack サービスを設定するために Debian の debconfdbconfig-" -"common を使用する方法について説明します。これらのパッケージによ" -"りユーザーが設定作業を実行できます。ユーザーが OpenStack パッケージをインス" -"トールするとき、debconf がユーザーにプロンプトを表示しま" -"す。これは、パッケージに関連づけられた設定ファイルの内容をシードします。パッ" -"ケージのインストール後、ユーザーは プログラムを使用すること" -"により、パッケージの設定を更新できます。" - -msgid "" -"This chapter is a work in progress. It may contain incorrect information, " -"and will be updated frequently." -msgstr "本章は作業中です。不正確な情報を含む可能性があり、頻繁に更新されます。" - -msgid "" -"This chapter omits the backup manager because it depends on the Object " -"Storage service." -msgstr "" -"バックアップマネージャーは Object Storage に依存するため、この章では省略しま" -"す。" - -msgid "This command provides no output." -msgstr "このコマンドは何も出力しません。" - -msgid "This command uses the password for the admin user." -msgstr "" -"このコマンドは admin ユーザーのパスワードを使用します。" - -msgid "" -"This command uses the password for the demo user and API " -"port 5000 which only allows regular (non-admin) access to the Identity " -"service API." -msgstr "" -"このコマンドは、demo ユーザーのパスワードと API ポート " -"5000 番を使用します。このポートは、Identity の通常の (非特権) API のみにアク" -"セスできます。" - -msgid "This example deployment uses an Apache web server." -msgstr "このデプロイメント例は、Apache HTTP Server を使用します。" - -msgid "This example shows you how to create a MySQL 5.5 database:" -msgstr "この例は MySQL 5.5 データベースを作成する方法です。" - -msgid "" -"This example shows you how to create a MySQL datastore with version 5.5:" -msgstr "この例は、MySQL 5.5 のデータストアを作成する方法です。" - -msgid "" -"This guide describes how to deploy these services in a functional test " -"environment and, by example, teaches you how to build a production " -"environment. Realistically, you would use automation tools such as Ansible, " -"Chef, and Puppet to deploy and manage a production environment." -msgstr "" -"このガイドは、これらのサービスを機能テスト環境に導入する方法について説明しま" -"す。例により、本番環境を構築する方法を教えます。現実的には、Ansible、Chef、" -"Puppet などの自動化ツールを使用して、本番環境の配備と管理を行います。" - -msgid "" -"This guide uses a service project that contains a unique user for each " -"service that you add to your environment." -msgstr "" -"このガイドは、お使いの環境に追加する各サービス固有のユーザーを含む、サービス" -"プロジェクトを使用します。" - -msgid "" -"This image must have the trove guest agent installed, and it must have the " -"trove-guestagent.conf file configured to connect to " -"your OpenStack environment. To correctly configure the trove-" -"guestagent.conf file, follow these steps on the guest instance " -"you are using to build your image:" -msgstr "" -"このイメージは trove ゲストエージェントがインストールされている必要がありま" -"す。お使いの OpenStack 環境に接続するために、trove-guestagent." -"conf ファイルを設定する必要があります。trove-guestagent." -"conf ファイルを正しく設定するために、イメージ構築用に使用している" -"ゲストインスタンスでこれらの手順を実行します。" - -msgid "" -"This information is stored in the configuration file for each service. For " -"example:" -msgstr "この情報は各サービスの設定ファイルに保存されます。例:" - -msgid "" -"This network does not require a gateway because communication only occurs " -"among network and compute nodes in your OpenStack environment." -msgstr "" -"このネットワークは、通信が OpenStack 環境のネットワークノードとコンピュート" -"ノード間のみで発生するため、ゲートウェイを必要としません。" - -msgid "" -"This network requires a gateway to provide Internet access to all nodes for " -"administrative purposes such as package installation, security updates, " -"DNS, and NTP." -msgstr "" -"このネットワークは、すべてのノードで管理目的のためにインターネットアクセスを" -"提供するゲートウェイが必要になります。パッケージのインストール、セキュリティ" -"更新、DNSNTP などです。" - -msgid "" -"This network requires a gateway to provide Internet access to instances in " -"your OpenStack environment." -msgstr "" -"このネットワークは、OpenStack 環境のインスタンスにインターネットアクセスを提" -"供するためにゲートウェイを必要とします。" - -msgid "" -"This network shares the same subnet associated with " -"the physical network connected to the external interface on the compute node. You should specify an exclusive slice of " -"this subnet to prevent interference with other devices on the external " -"network." -msgstr "" -"このネットワークは、コンピュートノードの外部インターフェース に接続された物理ネットワークと関連づけられ" -"た、同じサブネットを共有します。外" -"部ネットワークの他のデバイスと競合しないよう、このサブネットの専用範囲を指定" -"すべきです。" - -msgid "" -"This output should indicate four agents alive on the network node and one " -"agent alive on the compute node." -msgstr "" -"この出力は、ネットワークノードに 4 つのエージェント、コンピュートノードに 1 " -"つのエージェントが動作していることを意味します。" - -msgid "" -"This output should indicate four service components enabled on the " -"controller node and one service component enabled on the compute node." -msgstr "" -"この出力は、コントローラーノードに 4 つ、コンピュートノードに 1 つのサービス" -"コンポーネントが有効化されていることを意味します。" - -msgid "" -"This procedure installs the Data processing service (sahara) on the " -"controller node." -msgstr "" -"この手順は、Data processing (sahara) をコントローラーノードにインストールしま" -"す。" - -msgid "This procedure installs the Database service on the controller node." -msgstr "" -"この手順は、コントローラーノードに Database サービスをインストールします。" - -msgid "" -"This screen configures the IP addresses for the service. The configuration " -"script automatically detects the IP address used by the interface that is " -"connected to the default route (/sbin/route and /sbin/ip)." -msgstr "" -"この画面はサービスの IP アドレスを設定します。設定スクリプトは自動的に、デ" -"フォルトルートに接続されているインターフェースにより使用されている IP アドレ" -"スを検出します (/sbin/route/sbin/ip)。" - -msgid "" -"This screen configures the region name for the service. For example, " -"us-east-coast or europe-paris." -msgstr "" -"この画面はサービス用のリージョン名を設定します。例えば、us-east-coasteurope-paris です。" - -msgid "This screen registers packages in the Identity Service catalog:" -msgstr "この画面は Identity Service カタログにパッケージを登録します。" - -msgid "" -"This section covers deployment of a simple flat network that provides IP addresses to your instances via DHCP. If your environment includes multiple compute nodes, the " -"multi-host feature provides redundancy by spreading " -"network functions across compute nodes." -msgstr "" -"このセクションは、インスタンスに DHCP 経由で IP アドレ" -"スを提供する、シンプルなフラットネット" -"ワークの導入について取り扱います。お使いの環境に複数のコンピュー" -"トノードがある場合、multi-host 機能により、コンピュー" -"トノードをまたがるネットワーク機能の分散により冗長性を提供します。" - -msgid "" -"This section describes how to install and configure the Block Storage " -"service, code-named cinder, on the controller node. This service requires at " -"least one additional storage node that provides volumes to instances." -msgstr "" -"このセクションは、Block Storage (コード名 cinder) をコントローラーノードにイ" -"ンストールして設定する方法を説明します。このサービスは、ボリュームをインスタ" -"ンスに提供するストレージノードを少なくとも 1 つ必要とします。" - -msgid "" -"This section describes how to install and configure the Compute service, " -"code-named nova, on the controller node." -msgstr "" -"このセクションは、nova というコード名の Compute をコントローラーノードにイン" -"ストールし、設定する方法を説明します。" - -msgid "" -"This section describes how to install and configure the Image service, code-" -"named glance, on the controller node. For simplicity, this configuration " -"stores images on the local file system." -msgstr "" -"このセクションは、コントローラーノードに Image service (コード名 glance) をイ" -"ンストールして設定する方法を説明します。簡単のため、この設定はイメージをロー" -"カルファイルシステムに保存します。" - -msgid "" -"This section describes how to install and configure the OpenStack Identity " -"service, code-named keystone, on the controller node. For performance, this " -"configuration deploys the Apache HTTP server to handle requests and " -"Memcached to store tokens instead of a SQL database." -msgstr "" -"このセクションは、コントローラーノードに OpenStack Identity、コード名 " -"keystone をインストールして設定する方法を説明します。この設定は、パフォーマン" -"ス目的で、リクエストを処理するために Apache HTTP server を配備して、SQL デー" -"タベースの代わりにトークンを保存するために Memcached を配備します。" - -msgid "" -"This section describes how to install and configure the Orchestration " -"module, code-named heat, on the controller node." -msgstr "" -"このセクションは、コントローラーノードに Orchestration モジュール (コード名 " -"heat) をインストールおよび設定する方法を説明します。" - -msgid "" -"This section describes how to install and configure the Telemetry module, " -"code-named ceilometer, on the controller node. The Telemetry module uses " -"separate agents to collect measurements from each OpenStack service in your " -"environment." -msgstr "" -"このセクションは、コントローラーノードに Telemetry モジュール (コード名 " -"ceilometer) をインストールして設定する方法を説明します。Telemetry モジュール" -"は、個別のエージェントを使用して、各 OpenStack サービスから測定項目を収集しま" -"す。" - -msgid "" -"This section describes how to install and configure the dashboard on the " -"controller node." -msgstr "" -"このセクションは、コントローラーノードにダッシュボードをインストールおよび設" -"定する方法を説明します。" - -msgid "" -"This section describes how to verify operation of the Block Storage service " -"by creating a volume." -msgstr "" -"このセクションは、ボリュームを作成することにより、Block Storage のサービスの" -"動作を検証する方法について記載します。" - -msgid "" -"This section describes how to verify operation of the Object Storage service." -msgstr "このセクションは、Object Storage の動作を検証する方法を説明します。" - -msgid "" -"This section describes how to verify operation of the Orchestration module " -"(heat)." -msgstr "" -"このセクションは、Orchestration モジュール (heat) の動作を検証する方法につい" -"て説明します。" - -msgid "This section describes how to verify operation of the Telemetry module." -msgstr "" -"このセクションは、Telemetry モジュールの動作を検証する方法を説明します。" - -msgid "This section describes how to verify operation of the dashboard." -msgstr "このセクションは、ダッシュボードの動作を検証する方法を説明します。" - -msgid "" -"This will configure the below directives (example from nova.conf):" -msgstr "" -"これにより、以下のディレクティブ (nova.conf からの例) が" -"設定されます。" - -msgid "" -"Three-node architecture with OpenStack Networking (neutron) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"OpenStack Networking (Neutron) を持つ 3 ノードアーキテクチャー、オプションと" -"して Block Storage と Object Storage 向けノードを持つ。" - -msgid "To access your instance remotely" -msgstr "インスタンスへのリモートアクセス方法" - -msgid "To access your instance using a virtual console" -msgstr "仮想コンソールによりインスタンスにアクセスする方法" - -msgid "To attach a Block Storage volume to your instance" -msgstr "Block Storage ボリュームのインスタンスへの接続方法" - -msgid "To configure Compute to use Networking" -msgstr "Networking を使用するための Compute の設定方法" - -msgid "To configure legacy networking" -msgstr "レガシーネットワークの設定方法" - -msgid "To configure name resolution:" -msgstr "名前解決を設定する方法:" - -msgid "To configure networking:" -msgstr "ネットワークを設定する方法:" - -msgid "To configure notifications" -msgstr "通知の設定方法" - -msgid "To configure prerequisites" -msgstr "前提条件の設定方法" - -msgid "To configure the Apache HTTP server" -msgstr "Apache HTTP Server の設定方法" - -msgid "To configure the DHCP agent" -msgstr "DHCP エージェントの設定方法" - -msgid "To configure the Layer-3 (L3) agent" -msgstr "L3 エージェントの設定方法" - -msgid "To configure the Modular Layer 2 (ML2) plug-in" -msgstr "ML2 プラグインの設定方法" - -msgid "To configure the NTP service" -msgstr "NTP サービスの設定方法" - -msgid "To configure the Networking common components" -msgstr "Networking 共通コンポーネントの設定方法" - -msgid "To configure the Networking server component" -msgstr "Networking サーバーコンポーネントの設定方法" - -msgid "To configure the Open vSwitch (OVS) service" -msgstr "Open vSwitch (OVS) サービスの設定方法" - -msgid "To configure the dashboard" -msgstr "ダッシュボードの設定方法" - -msgid "To configure the message queue service" -msgstr "メッセージキューサービスの設定方法" - -msgid "To configure the metadata agent" -msgstr "メタデータエージェントの設定方法" - -msgid "" -"To create a router on the tenant network and attach the external and tenant " -"networks to it" -msgstr "" -"プロジェクトネットワークにルーターを作成し、外部ネットワークとプロジェクト" -"ネットワークを接続する方法" - -msgid "To create a subnet on the external network" -msgstr "外部ネットワークへのサブネットの作成方法" - -msgid "To create a subnet on the tenant network" -msgstr "テナントネットワークへのサブネットの作成方法" - -msgid "To create tenants, users, and roles" -msgstr "テナント、ユーザー、ロールの作成方法" - -msgid "To create the Identity service credentials, complete these steps:" -msgstr "これらの手順を完了して、Identity のクレデンシャルを作成します。" - -msgid "To create the database, complete these steps:" -msgstr "これらの手順を完了して、データベースを作成します。" - -msgid "To create the external network" -msgstr "外部ネットワークの作成方法" - -msgid "To create the network" -msgstr "ネットワークの作成方法" - -msgid "To create the ring" -msgstr "リングの作成方法" - -msgid "To create the scripts" -msgstr "スクリプトの作成方法" - -msgid "To create the service credentials, complete these steps:" -msgstr "以下の手順を実行して、サービスクレデンシャルを作成します。" - -msgid "To create the service entity and API endpoint" -msgstr "サービスエンティティと API エンドポイントの作成方法" - -msgid "To create the tenant network" -msgstr "テナントネットワークの作成方法" - -msgid "To disable Network Manager" -msgstr "Network Manager の無効化方法" - -msgid "" -"To ease the installation process, this guide only covers password security " -"where applicable. You can create secure passwords manually, generate them " -"using a tool such as pwgen, or by running the following command:" -msgstr "" -"インストール作業を簡単にするために、このガイドは適切なところでパスワードによ" -"るセキュリティを取り扱います。pwgen のようなツールを用いてパスワードを生成して、パ" -"スワードを安全にできます。また、以下のコマンドを用いることもできます。" - -msgid "To enable the OpenStack repository" -msgstr "OpenStack リポジトリの有効化方法" - -msgid "To finalize installation" -msgstr "インストールの最終手順" - -msgid "To finalize the installation" -msgstr "インストールの最終手順" - -msgid "To generate a key pair" -msgstr "キーペアの生成方法" - -msgid "To install and configure Block Storage controller components" -msgstr "Block Storage コントローラーコンポーネントのインストールと設定方法" - -msgid "To install and configure Compute controller components" -msgstr "Compute のコントローラーのコンポーネントをインストールし、設定する方法" - -msgid "To install and configure the Compute controller components" -msgstr "Compute のコントローラーのコンポーネントをインストールし、設定する方法" - -msgid "To install and configure the Compute hypervisor components" -msgstr "Compute のハイパーバイザーコンポーネントのインストールと設定方法" - -msgid "To install and configure the Identity service components" -msgstr "Identity のコンポーネントのインストールと設定方法" - -msgid "To install and configure the Image service components" -msgstr "Image サービスのコンポーネントのインストールと設定方法" - -msgid "To install and configure the Networking components" -msgstr "Networking コンポーネントのインストールと設定方法" - -msgid "To install and configure the Orchestration components" -msgstr "Orchestration コンポーネントのインストールと設定方法" - -msgid "To install and configure the Telemetry module components" -msgstr "Telemetry モジュールコンポーネントのインストールと設定方法" - -msgid "To install and configure the agent" -msgstr "エージェントのインストールと設定方法" - -msgid "To install and configure the components" -msgstr "コンポーネントをインストールし、設定する方法" - -msgid "To install and configure the controller node components" -msgstr "コントローラーノードのコンポーネントをインストールし、設定します。" - -msgid "To install and configure the database server" -msgstr "データベースサーバーのインストール方法と設定方法" - -msgid "To install legacy networking components" -msgstr "レガシーネットワークのコンポーネントのインストール方法" - -msgid "To install the Data processing service on the controller:" -msgstr "Data processing のコントローラーへのインストール方法" - -msgid "To install the Database service on the controller:" -msgstr "Database サービスをコントローラーにインストールする方法:" - -msgid "To install the NTP service" -msgstr "NTP サービスのインストール方法" - -msgid "To install the Networking components" -msgstr "Networking コンポーネントのインストール方法" - -msgid "To install the dashboard components" -msgstr "ダッシュボードのコンポーネントのインストール方法" - -msgid "To install the message queue service" -msgstr "メッセージキューサービスのインストール方法" - -msgid "To launch an instance" -msgstr "インスタンスの起動方法" - -msgid "" -"To launch an instance, you must at least specify the flavor, image name, " -"network, security group, key, and instance name." -msgstr "" -"インスタンスを起動するために、少なくともフレーバー、イメージ名、ネットワー" -"ク、セキュリティグループ、キー、インスタンス名を指定する必要があります。" - -msgid "To load client environment scripts" -msgstr "クライアント環境スクリプトの読み込み方法" - -msgid "" -"To minimize clutter and provide more resources for OpenStack, we recommend a " -"minimal installation of your Linux distribution. Also, we strongly recommend " -"that you install a 64-bit version of your distribution on at least the " -"compute node. If you install a 32-bit version of your distribution on the " -"compute node, attempting to start an instance using a 64-bit image will fail." -msgstr "" -"散らかりを最小化し、OpenStack のためによりリソースを提供するために、Linux " -"ディストリビューションの最小インストールを推奨します。また、少なくともコン" -"ピュートノードは、ディストリビューションの 64 ビット版のインストールを強く推" -"奨します。コンピュートノードにディストリビューションの 32 ビット版をインス" -"トールする場合、64 ビット版のイメージを使用したインスタンスの起動に失敗しま" -"す。" - -msgid "" -"To opt out of using the debconf " -"package, run the command and select non-interactive mode:" -msgstr "" -"debconf パッケージを使用することを" -"止めるために、 コマンドを実行し、非対話モードを選択します。" - -msgid "" -"To retrieve image-oriented events and samples, configure the Image service " -"to send notifications to the message bus. Perform these steps on the " -"controller node." -msgstr "" -"イメージ関連のイベントとサンプルを取得するために、Image service を設定して、" -"メッセージバスに通知を送信します。コントローラーノードでこれらの手順を実行し" -"ます。" - -msgid "" -"To retrieve storage-oriented events and samples, configure the Object " -"Storage service to send notifications to the message bus." -msgstr "" -"ストレージ関連のイベントとサンプルを取得するために、Object Storage を設定し" -"て、メッセージバスに通知を送信します。" - -msgid "" -"To retrieve volume-oriented events and samples, you must configure the Block " -"Storage service to send notifications to the message bus. Perform these " -"steps on the controller and storage nodes." -msgstr "" -"ボリューム関連のイベントとサンプルを取得するために、Block Storage を設定し" -"て、メッセージバスに通知を送信する必要があります。コントローラーノードとスト" -"レージノードでこれらの手順を実行します。" - -msgid "" -"To run clients as a specific project and user, you can simply load the " -"associated client environment script prior to running them. For example:" -msgstr "" -"特定のテプロジェクトとユーザーとしてクライアントを実行する場合、実行する前に" -"関連するクライアント環境スクリプトを単に読み込むことができます。例:" - -msgid "" -"To temporarily disable GRO on the external network interface while testing " -"your environment:" -msgstr "" -"環境のテスト中、外部ネットワークインターフェースで一時的に GRO を無効化する場" -"合:" - -msgid "To use the Debian Wheezy backports archive for Juno" -msgstr "" -"Debian Wheezy を使用するためには、Juno 向けアーカイブをバックポートします" - -msgid "" -"To use the VNC client with the dashboard, the browser must support HTML5 " -"Canvas and HTML5 WebSockets." -msgstr "" -"Dashboard で VNC クライアントを使用する場合、ブラウザーが HTML5 Canvas と " -"HTML5 WebSockets をサポートする必要があります。" - -msgid "To verify network connectivity" -msgstr "ネットワーク接続性の確認方法" - -msgid "" -"To verify that the Database service is installed and configured correctly, " -"try executing a trove command:" -msgstr "" -"Database サービスがインストールされ、正しく設定されていることを検証するため" -"に、trove コマンドを実行してみます。" - -msgid "" -"To verify the Data processing service (sahara) is installed and configured " -"correctly, try requesting the clusters list using the sahara client." -msgstr "" -"Data processing (sahara) がインストールされ、正しく設定されたことを検証するた" -"めに、sahara クライアントを使用して、クラスターを要求してみます。" - -msgid "" -"Two-node architecture with legacy networking (nova-network) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"レガシーネットワーク (nova-network) を持つ 2 ノードアーキテクチャー、オプショ" -"ンとして Block Storage と Object Storage 向けノードを持つ。" - -msgid "USER" -msgstr "USER" - -msgid "Ubuntu 14.04" -msgstr "Ubuntu 14.04" - -msgid "" -"Ubuntu installs the openstack-dashboard-ubuntu-theme " -"package as a dependency. Some users reported issues with this theme in " -"previous releases. If you encounter issues, remove this package to restore " -"the original OpenStack theme." -msgstr "" -"Ubuntu は、依存関係として openstack-dashboard-ubuntu-theme パッケージをインストールします。一部のユーザーは、以前のリリースでこ" -"のテーマに問題があることを報告しています。問題に遭遇した場合、このパッケージ" -"を削除して、元々の OpenStack テーマを復元してください。" - -msgid "" -"Unless you have a unique set up for your network, press ENTER." -msgstr "" -"お使いのネットワーク用に一意なセットアップをする必要がなければ、" -"ENTER を押します。" - -msgid "" -"Unless you intend to use the exact configuration provided in this example " -"architecture, you must modify the networks in this procedure to match your " -"environment. Also, each node must resolve the other nodes by name in " -"addition to IP address. For example, the controller name must resolve to 10.0.0.11, the IP " -"address of the management interface on the controller node." -msgstr "" -"このアーキテクチャ例で提供される設定とまったく同じものを使用したくなければ、" -"お使いの環境に合わせるために、この手順にあるネットワークを変更する必要があり" -"ます。また、各ノードは、IP アドレスに加えて、名前により他のノードを名前解決す" -"る必要があります。例えば、controller という名前" -"は、コントローラーノードの管理ネットワークの IP アドレス 10.0.0.11 に解決する必要があります。" - -msgid "" -"Unlike other debconf prompts, you cannot pre-seed the " -"responses for the dbconfig-common prompts by using " -". Instead, you must create a file in /etc/dbconfig-" -"common. For example, you might create a keystone configuration " -"file for dbconfig-common that is located in /" -"etc/dbconfig-common/keystone.conf, as follows:" -msgstr "" -"他の debconf プロンプトと異なり、 を使用し" -"て dbconfig-common プロンプトに対する応答を事前シードでき" -"ません。代わりに、/etc/dbconfig-common にファイルを作成" -"する必要があります。例えば以下のように、/etc/dbconfig-common/" -"keystone.conf にある dbconfig-common 用の " -"Keystone 設定を作成することができます。" - -msgid "" -"Unset the temporary OS_TOKEN and OS_URL " -"environment variables:" -msgstr "" -"一時環境変数 OS_TOKENOS_URL を設定解除しま" -"す。" - -msgid "" -"Update the datastore and version to use the specific image with the " -" command." -msgstr "" -" コマンドを使用して、特定のイメージを使用するために、データス" -"トアとバージョンを更新します。" - -msgid "" -"Update the package database, upgrade your system, and reboot for all changes " -"to take effect:" -msgstr "" -"パッケージデータベースを更新し、システムをアップグレードします。すべての変更" -"を反映するために再起動します。" - -msgid "Update the repository database and install the key:" -msgstr "リポジトリデータベースを更新し、キーをインストールします。" - -msgid "Upgrade the packages on your system:" -msgstr "システムのパッケージをアップグレードします。" - -msgid "Upload a test file:" -msgstr "テストファイルをアップロードします。" - -msgid "Upload post-provisioning configuration validation rules:" -msgstr "配備後の設定検証ルールをアップロードします。" - -msgid "" -"Upload the image to the Image service using the QCOW2 disk format, bare container format, and public visibility so all projects can " -"access it:" -msgstr "" -"QCOW2 ディス" -"ク形式、bare コンテナー形式、パブリック公開のイメージ" -"を Image service にアップロードします。すべてのプロジェクトからアクセスできま" -"す。" - -msgid "" -"Use the Database service to create cloud database resources. The integrated project name " -"is trove." -msgstr "" -"クラウドデータベースリソースを作成するために、Database serviceを使用します。統合プロジェクトの名前は " -"trove です。" - -msgid "Use the command to create a stack from the template:" -msgstr "" -"テンプレートからスタックを作成するために コマンドを使用しま" -"す。" - -msgid "" -"Use the command to retrieve meters on demand. For more " -"information, see Block " -"Storage audit script setup to get notifications." -msgstr "" -" コマンドを使用して、オンデマンドの測定項目を取得します。詳細" -"は Block Storage audit " -"script setup to get notifications を参照してください。" - -msgid "" -"Use the command to verify successful creation of the stack:" -msgstr "" -"スタックが正常に作成されたことを検証するために、 コマンドを使" -"用します。" - -msgid "Use the YaST network module:" -msgstr "YaST ネットワークモジュールを使用します。" - -msgid "" -"Use the database access client to connect to the database server as the " -"root user:" -msgstr "" -"データベースクライアントを使用して、データベースサーバーに root ユーザーとして接続します。" - -msgid "" -"Use the random value that you generated in a previous step. If you install " -"using non-interactive mode or you do not specify this token, the " -"configuration tool generates a random value." -msgstr "" -"前の手順で生成したランダムな値を使用します。非対話モードを使用してインストー" -"ルした場合、このトークンを指定しなかった場合は、設定ツールがランダムな値を生" -"成します。" - -msgid "Verify addition of the key pair:" -msgstr "キーペアの追加を検証します。" - -msgid "Verify addition of the public key:" -msgstr "公開鍵の追加を検証します。" - -msgid "Verify connectivity" -msgstr "接続性の検証" - -msgid "Verify creation and availability of the volume:" -msgstr "ボリュームが作成され、利用可能であることを確認します。" - -msgid "Verify creation of the network:" -msgstr "ネットワークの作成を検証します。" - -msgid "" -"Verify network connectivity using from the controller node " -"or any host on the external network:" -msgstr "" -"コントローラーノードまたは外部ネットワークのホストから を使" -"用して、ネットワーク接続性を検証します。" - -msgid "Verify operation" -msgstr "動作検証" - -msgid "Verify operation of the Compute service." -msgstr "Compute の動作を検証します。" - -msgid "" -"Verify operation of the Identity service before installing other services." -msgstr "他のサービスをインストールする前に Identity の動作を検証します。" - -msgid "" -"Verify operation of the Image service using CirrOS, a small Linux image that helps you " -"test your OpenStack deployment." -msgstr "" -"CirrOS を使用して、" -"Image service の動作を検証します。これは、OpenStack 環境のテストに役立つ軽量" -"な Linux イメージです。" - -msgid "Verify the demo-net network:" -msgstr "demo-net ネットワークを検証します。" - -msgid "Verify the demo-net tenant network gateway:" -msgstr "" -"demo-net テナントネットワークのゲートウェイを検証します。" - -msgid "Verify the ext-net external network:" -msgstr "ext-net 外部ネットワークを検証します。" - -msgid "Verify the Data processing service installation" -msgstr "Data processing のインストールの検証" - -msgid "Verify the Database service installation" -msgstr "Database サービスのインストールの検証" - -msgid "Verify the Telemetry installation" -msgstr "Telemetry のインストールの検証" - -msgid "Verify the ring contents:" -msgstr "リングの内容を検証します。" - -msgid "" -"We recommend that you verify NTP synchronization before proceeding further. " -"Some nodes, particularly those that reference the controller node, can take " -"several minutes to synchronize." -msgstr "" -"続行する前に、NTP 同期について検証することを推奨します。いくつかのノード、と" -"くにコントローラーノードを参照するノードは、同期に数分かかる可能性がありま" -"す。" - -msgid "" -"We recommend that you verify network connectivity and resolve any issues " -"before proceeding further. Following the external network subnet example " -"using 203.0.113.0/24, the tenant router gateway should " -"occupy the lowest IP address in the floating IP address range, " -"203.0.113.101. If you configured your external physical " -"network and virtual networks correctly, you should be able to this IP address from any host on your external physical network." -msgstr "" -"ネットワーク接続性を検証し、続行する前にすべての問題を解決することを推奨しま" -"す。203.0.113.0/24 を使用した例の外部ネットワークのサブ" -"ネットに従うと、プロジェクトのルーターゲートウェイは Floating IP アドレス範囲" -"の最小値 203.0.113.101 を使用すべきです。外部物理ネット" -"ワークと仮想ネットワークを適切に設定した場合、外部物理ネットワークにあるホス" -"トから、この IP アドレスに できるでしょう。" - -msgid "" -"We recommend that you verify network connectivity to the Internet and among " -"the nodes before proceeding further." -msgstr "" -"続行する前に、インターネットへの接続性とノード間の通信を検証することを推奨し" -"ます。" - -msgid "" -"When you implement this architecture, skip in . To use optional " -"services, you might need to build additional nodes, as described in " -"subsequent chapters." -msgstr "" -"このアーキテクチャーを導入する場合、を飛ばしてください。オプションのサー" -"ビスを使用するために、後続の章に記載されている、追加ノードを構築する必要があ" -"るかもしれません。" - -msgid "" -"When you implement this architecture, skip in . Optional services might " -"require additional nodes or additional resources on existing nodes." -msgstr "" -"このアーキテクチャーを導入する場合、を飛ばしてください。オプションのサービス" -"は、追加のノード、または既存のノードに追加のリソースを必要になるかもしれませ" -"ん。" - -msgid "" -"When you install a package for an API service, you are prompted to register " -"that service. However, after you install or upgrade the package for an API " -"service, Debian immediately removes your response to this prompt from the " -"debconf database. Consequently, you are prompted to re-" -"register the service with the Identity Service. If you already registered " -"the API service, respond no when you upgrade." -msgstr "" -"API サービス用のパッケージをインストールするとき、サービスを登録するために、" -"プロンプトが表示されます。しかしながら、API サービス用のパッケージをインス" -"トールまたはアップグレードした後、Debian はこのプロンプトの内容を " -"debconf データベースからすぐに削除します。その結果として、" -"Identity Service でサービスを設定するためにプロンプトが表示されます。すでに " -"API サービスを登録していれば、アップグレードするときに no " -"と答えます。" - -msgid "" -"When you install or upgrade a Debian package, all configuration file values " -"are preserved. Using the debconf " -"database as a registry is considered a bug in Debian. If you edit something " -"in any OpenStack configuration file, the debconf package reads that value when it prepares to prompt " -"the user. For example, to change the log in name for the RabbitMQ messaging " -"queue for a service, you can edit its value in the corresponding " -"configuration file." -msgstr "" -"Debian パッケージをインストールまたはアップグレードするとき、すべての設定値は" -"保護されます。レジストリとして debconf データベースを使用することは Debian でバグとみなされます。あらゆ" -"る OpenStack 設定ファイルで何かを編集する場合、ユーザーにプロンプトを表示する" -"とき、debconf パッケージがその値を" -"読み込みます。例えば、サービス用の RabbitMQ メッセージングキューの名前でログ" -"を変更するために、対応する設定ファイルでその値を編集できます。" - -msgid "" -"You are prompted for the Identity Service admin_token " -"value. The Identity Service uses this value to register the API service. " -"When you set up the keystone package, this value is " -"configured automatically." -msgstr "" -"Identity Service の admin_token 値に対するプロンプトが表示" -"されます。Identity Service が API サービスを登録するためにこの値を使用しま" -"す。keystone パッケージをセットアップするとき、この値が自" -"動的に設定されます。" - -msgid "You can also reference a flavor by ID." -msgstr "ID によりフレーバーを参照することもできます。" - -msgid "" -"You can modify these ranges and gateways to work with your particular " -"network infrastructure." -msgstr "" -"これらの範囲とゲートウェイを変更して、お使いのネットワーク環境に合わせること" -"ができます。" - -msgid "" -"You can pre-seed all debconf " -"prompts. To pre-seed means to store responses in the debconf database so that debconf does not prompt the " -"user for responses. Pre-seeding enables a hands-free installation for users. " -"The package maintainer creates scripts that automatically configure the " -"services." -msgstr "" -"すべての debconf プロンプトに事前" -"シードできます。事前シードとは debconf がユーザーにプロン" -"プトを表示しないよう、debconf データベースに応答を保存する" -"ことを意味します。事前シードによりユーザーの手がかからないインストールをでき" -"るようになります。パッケージのメンテナーがサービスを自動的に設定できるスクリ" -"プトを作成します。" - -msgid "You can repeat this procedure to create additional projects and users." -msgstr "この手順を繰り返して、追加のプロジェクトとユーザーを作成できます。" - -msgid "" -"You must add the heat_stack_owner role to users that " -"manage stacks." -msgstr "" -"スタックを管理するユーザーに heat_stack_owner ロールを追加" -"する必要があります。" - -msgid "You must create a partition table and file system to use the volume." -msgstr "" -"ボリュームを使用するために、パーティションテーブルとファイルシステムを作成す" -"る必要があります。" - -msgid "" -"You must enable remote access before you install OpenStack services on " -"multiple nodes." -msgstr "" -"複数ノードに OpenStack サービスをインストールする前にリモートアクセスを有効化" -"する必要があります。" - -msgid "" -"You must install NTP to properly synchronize services among nodes. We recommend that " -"you configure the controller node to reference more accurate (lower stratum) " -"servers and other nodes to reference the controller node." -msgstr "" -"サービスをノード間で正しく同期するために、NTP をインストールする必要があります。コントロー" -"ラーノードをできる限り正確な(低ストラタム値)参照サーバーに設定し、他のノー" -"ドからコントローラーノードを参照するよう設定することを推奨します。" - -msgid "" -"You must pass the value of the authentication token to the " -"command with the --os-token parameter or set the " -"OS_TOKEN environment variable. Similarly, you must also pass " -"the value of the Identity service URL to the command with " -"the --os-url parameter or set the OS_URL environment variable. This guide uses environment variables to reduce " -"command length." -msgstr "" -" コマンドの --os-token パラメーターに" -"認証トークンの値を渡せます。または、OS_TOKEN 環境変数を設定し" -"ます。同様に、 コマンドの --os-url パ" -"ラメーターに Identity のサービスの値を渡す必要もあります。または、一時的な " -"OS_URL 環境変数を設定します。このガイドは、環境変数を使用し" -"て、コマンドを短くします。" - -msgid "You must reference volumes using the IDs instead of names." -msgstr "名前の代わりに ID を使用して、ボリュームを参照する必要があります。" - -msgid "" -"You must source the admin tenant credentials for this " -"step and then source the demo tenant credentials for the " -"remaining steps." -msgstr "" -"この手順のために admin テナントのクレデンシャルを読み込む" -"必要があります。残りの手順のために demo テナントのクレデン" -"シャルを読み込む必要があります。" - -msgid "" -"You must use an account with administrative privileges to configure each " -"node. Either run the commands as the root user or " -"configure the sudo utility." -msgstr "" -"各ノードを設定するために、管理権限を持つアカウントを使用する必要があります。" -"root ユーザーとしてコマンドを実行するか、sudo ユーティリティを設定します。" - -msgid "" -"You need to install the required packages. For now, sahara doesn't have " -"packages for Ubuntu. Documentation will be updated once the packages are " -"available. The rest of this document assumes that you have the sahara " -"service packages installed on the system." -msgstr "" -"必要なパッケージをインストールする必要があります。今のところ、sahara は " -"Ubuntu 向けのパッケージがありません。パッケージが利用可能になれば、ドキュメン" -"トが更新されます。このドキュメントの残りは、sahara のパッケージがシステムにイ" -"ンストールされていることを仮定します。" - -msgid "" -"You need to take upstream api-paste.ini and change " -"content below in it:" -msgstr "" -"アップストリームの api-paste.ini を取得し、以下の内容を" -"変更する必要があります。" - -msgid "You should see output similar to this:" -msgstr "このように出力されます。" - -msgid "" -"Your OpenStack environment now includes Block Storage. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"OpenStack 環境に Block Storage が追加されました。インスタンスの起動、以降の章に記載されているサービスの環境" -"への追加を実行できます。" - -msgid "" -"Your OpenStack environment now includes Object Storage. You can launch an instance or add more services " -"to your environment in the following chapters." -msgstr "" -"OpenStack 環境に Object Storage が追加されました。インスタンスの起動、以降の章に記載されているサービスの環境" -"への追加を実行できます。" - -msgid "" -"Your OpenStack environment now includes Orchestration. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"OpenStack 環境に Orchestration が追加されました。インスタンスの起動、以降の章に記載されているサービスの環境" -"への追加を実行できます。" - -msgid "" -"Your OpenStack environment now includes Telemetry. You can launch an instance or add more services to your " -"environment in the previous chapters." -msgstr "" -"OpenStack 環境に Telemetryが追加されました。インスタンスの起動、以前の章に記載されているサービスの環境への追加" -"を実行できます。" - -msgid "" -"Your OpenStack environment now includes the core components necessary to " -"launch a basic instance. You can launch an " -"instance or add more OpenStack services to your environment." -msgstr "" -"基本的なインスタンスを起動するために必要なコンポーネントが OpenStack 環境に追" -"加されました。インスタンスの起動、" -"OpenStack サービスの環境への追加を実行できます。" - -msgid "" -"Your OpenStack environment now includes the dashboard. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"OpenStack 環境にダッシュボードが追加されました。インスタンスの起動、以降の章に記載されているサービスの環境" -"への追加を実行できます。" - -msgid "" -"Your distribution does not enable a restrictive firewall by default. For more information about securing your environment, " -"refer to the OpenStack " -"Security Guide." -msgstr "" -"お使いのディストリビューションは、標準で制限的なファイアウォールを有効化しています。お使いの環境をセ" -"キュア化することに関する詳細は OpenStack セキュリティガイド を参照してく" -"ださい。" - -msgid "" -"Your distribution enables a restrictive firewall by " -"default. During the installation process, certain steps will fail unless you " -"alter or disable the firewall. For more information about securing your " -"environment, refer to the OpenStack Security Guide." -msgstr "" -"お使いのディストリビューションは、標準で制限的なファイアウォールを有効化しています。このインストール" -"プロセス中に、この設定を変更するか、ファイアウォールを無効化しなければ、特定" -"の手順が失敗します。お使いの環境をセキュア化することに関する詳細は OpenStack セキュ" -"リティガイド を参照してください。" - -msgid "" -"Your first instance uses the cirros-0.3.4-x86_64 image." -msgstr "" -"最初のインスタンスは cirros-0.3.4-x86_64 イメージを使用し" -"ます。" - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"初めてのインスタンスは、default セキュリティグループを使用" -"します。デフォルトで、このセキュリティグループは、インスタンスへのリモートア" -"クセスを遮断するファイアウォールを適用します。インスタンスへのリモートアクセ" -"スを許可したければ、インスタンスを起動し、リモートアクセスを設定します。" - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"初めてのインスタンスは、default セキュリティグループを使用" -"します。デフォルトで、このセキュリティグループは、インスタンスへのリモートア" -"クセスを遮断するファイアウォールを適用します。インスタンスへのリモートアクセ" -"スを許可したければ、インスタンスを起動し、リモートアクセスを設定します。" - -msgid "" -"Your first instance uses the demo-net tenant network. " -"However, you must reference this network using the ID instead of the name." -msgstr "" -"初めてのインスタンスは demo-net プロジェクトネットワークを" -"使用します。しかしながら、名前の代わりに ID を用いて、このネットワークを参照" -"する必要があります。" - -msgid "Your first instance uses the m1.tiny flavor." -msgstr "" -"初めてのインスタンスは m1.tiny フレーバーを使用します。" - -msgid "active" -msgstr "active" - -msgid "api-paste.ini" -msgstr "api-paste.ini" - -msgid "ceilometer" -msgstr "ceilometer" - -msgid "cinder" -msgstr "cinder" - -msgid "compute1" -msgstr "compute1" - -msgid "controller" -msgstr "controller" - -msgid "datastore_manager" -msgstr "datastore_manager" - -msgid "datastore_name" -msgstr "datastore_name" - -msgid "datastore_version" -msgstr "datastore_version" - -msgid "debconf concepts" -msgstr "debconf の概念" - -msgid "demo-instance1" -msgstr "demo-instance1" - -msgid "glance" -msgstr "glance" - -msgid "glance_image_ID" -msgstr "glance_image_ID" - -msgid "glance_image_id" -msgstr "glance_image_id" - -msgid "guest" -msgstr "guest" - -msgid "heat" -msgstr "heat" - -msgid "keystone" -msgstr "keystone" - -msgid "kilo" -msgstr "kilo" - -msgid "name" -msgstr "名前" - -msgid "network" -msgstr "Network" - -msgid "neutron" -msgstr "neutron" - -msgid "nova" -msgstr "nova" - -msgid "openSUSE and SUSE Linux Enterprise Server" -msgstr "openSUSE、SUSE Linux Enterprise Server" - -msgid "packages" -msgstr "packages" - -msgid "swift" -msgstr "swift" - -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -msgid "translator-credits" -msgstr "" -"Akihiro MOTOKI , 2013\n" -"thatsdone , 2013\n" -"doki701 , 2013\n" -"Tomoyuki KATO , 2012-2014" - -msgid "trove" -msgstr "trove" - -msgid "trove-conductor.conf" -msgstr "trove-conductor.conf" - -msgid "trove-taskmanager.conf" -msgstr "trove-taskmanager.conf" - -msgid "trove.conf" -msgstr "trove.conf" - -msgid "version_name" -msgstr "version_name" diff --git a/doc/install-guide/locale/pt_BR.po b/doc/install-guide/locale/pt_BR.po deleted file mode 100644 index 9e22619113..0000000000 --- a/doc/install-guide/locale/pt_BR.po +++ /dev/null @@ -1,6252 +0,0 @@ -# -# Translators: -# Andre Campos Bezerra , 2015 -# Fernando Pimenta , 2014 -# Fernando F. Rodrigues , 2014 -# Fernando Pimenta , 2014-2015 -# Gabriel Wainer, 2013-2014 -# Lucas Ribeiro , 2014 -# Luís Eduardo Tenório Silva , 2015 -# Paulo Castro, 2013 -# Fernando F. Rodrigues , 2014 -# Tom Fifield , 2014-2015 -# Volmar Oliveira Junior , 2013 -msgid "" -msgstr "" -"Project-Id-Version: OpenStack Manuals\n" -"POT-Creation-Date: 2015-08-11 05:11+0000\n" -"PO-Revision-Date: 2015-08-10 06:25+0000\n" -"Last-Translator: openstackjenkins \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/openstack/" -"openstack-manuals-i18n/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -msgid "(Optional)" -msgstr "(Opcional)" - -msgid "" -"(Optional) To assist with troubleshooting, enable verbose logging in the " -"[DEFAULT] section:" -msgstr "" -"(Opcional) Para auxiliar com a solução de problemas, habilite o log " -"detalhado na seção [DEFAULT] :" - -msgid "/" -msgstr "/" - -msgid "/etc//validation-rules.json" -msgstr "/etc//validation-rules.json" - -msgid "160" -msgstr "160" - -msgid "161" -msgstr "161" - -msgid "162" -msgstr "162" - -msgid "163" -msgstr "163" - -msgid "164" -msgstr "164" - -msgid "165" -msgstr "165" - -msgid "166" -msgstr "166" - -msgid "187" -msgstr "187" - -msgid "2012" -msgstr "2012" - -msgid "2013" -msgstr "2013" - -msgid "2014" -msgstr "2014" - -msgid "2015" -msgstr "2015" - -msgid "96" -msgstr "96" - -msgid "" -"python-keystoneclient will automatically be installed as " -"it is a dependency of the keystone package." -msgstr "" -"python-keystoneclient será instalado automaticamente, " -"pois é uma dependência do pacote keystoneLogical Volume Manager (LVM) for installations with optional services such as Block Storage." -msgstr "" -"Uma partição simples de disco em cada nodo funciona para as instalações mais " -"básicas. Contudo, você deve considerar o Gerenciador de volumes " -"lógicos (LVM) para instalações com serviços opcionais como o " -"Block Storage." - -msgid "ADMIN_PASS" -msgstr "ADMIN_PASS" - -msgid "ADMIN_TOKEN" -msgstr "ADMIN_TOKEN" - -msgid "" -"Ability to take periodic \"snap shots\" throughout the installation process " -"and \"roll back\" to a working configuration in the event of a problem." -msgstr "" -"Habilidade de pegar \"snap shots\" através do processo de instalação e " -"\"retornar\" para uma configuração funcional em caso de problemas." - -msgid "" -"Access the dashboard using a web browser: http://" -"controller/horizonhttps://controller/http://controller/dashboardhttp://controller." -msgstr "" -"Acesse o dashboard usando um navegador web: http://" -"controller/horizonhttps://controller/http://controller/dashboardhttp://controller." - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network and use the command to verify presence of " -"the volume as the /dev/vdb block storage device:" -msgstr "" -"Acesse sua instância utilizando SSH a partir do nodo controlador ou qualquer " -"host na rede externa e utilize o comando para verificar a " -"presença do volume como um dispositivo de armazenamento de blocos /" -"dev/vdb:" - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network:" -msgstr "" -"Acesse sua instância utilizando SSH a partir do nodo controlador ou qualquer " -"host na rede externa:" - -msgid "Account ring" -msgstr "Anel de conta" - -msgid "Add Object Storage" -msgstr "Adicionar Object Storage" - -msgid "" -"Add a [database] section, and configure database access:" -msgstr "" -"Adicione uma seção [database], e configure o acesso a " -"banco de dados:" - -msgid "Add a networking component" -msgstr "Adicionar o componente de rede" - -msgid "" -"Add a port to the external bridge that connects to the physical external " -"network interface:" -msgstr "" -"Adicione uma porta à bridge externa que conecta à interface de rede física " -"externa:" - -msgid "Add each storage node to the ring:" -msgstr "Adicione cada nodo de armazenamento ao anel:" - -msgid "Add rules to the default security group:" -msgstr "Adicione regras ao grupo de segurança default:" - -msgid "" -"Add the admin role to the ceilometer " -"user." -msgstr "" -"Adicione o papel admin ao usuário ceilometer." - -msgid "" -"Add the admin role to the cinder user:" -msgstr "" -"Adicione o papel admin ao usuário cinder:" - -msgid "" -"Add the admin role to the heat user:" -msgstr "" -"Adicione o papel admin ao usuário heat:" - -msgid "" -"Add the admin role to the neutron user:" -msgstr "" -"Adicione o papel admin ao usuário neutron:" - -msgid "" -"Add the admin role to the nova user:" -msgstr "" -"Adicione o papel admin ao usuário nova:" - -msgid "" -"Add the admin role to the swift user:" -msgstr "" -"Adicione o papel admin ao usuário swift:" - -msgid "" -"Add the heat_stack_owner role to the demo tenant and user:" -msgstr "" -"Adicione o papel heat_stack_owner ao tenant e usuário " -"demo:" - -msgid "" -"Add the user role to the demo project " -"and user:" -msgstr "" -"Adicione o papel do usuário ao projeto e usuário " -"demo :" - -msgid "Add the Block Storage service" -msgstr "Adicionar o serviço de Block Storage" - -msgid "Add the Compute service" -msgstr "Adicionar o serviço de Computação" - -msgid "Add the Data processing service" -msgstr "Adicionar o serviço de Processamento de Dados" - -msgid "Add the Database service" -msgstr "Adicionar o serviço de Banco de Dados" - -msgid "Add the Identity service" -msgstr "Adicionar o serviço de Identidade" - -msgid "Add the Image service" -msgstr "Adicione o serviço de Imagem" - -msgid "Add the Orchestration module" -msgstr "Adicionar o módulo de Orquestração" - -msgid "Add the Telemetry module" -msgstr "Adicionar o módulo de Telemetria" - -msgid "Add the dashboard" -msgstr "Adicionar o dashboard" - -msgid "Add the external bridge:" -msgstr "Adicione a bridge externa:" - -msgid "Add the following lines to trove-guestagent.conf:" -msgstr "" -"Adicione as seguintes linha ao arquivo trove-guestagent.conf:" - -msgid "Add the public key to your OpenStack environment:" -msgstr "Adicione a chave pública ao seu ambiente OpenStack:" - -msgid "Additional compute nodes should use 10.0.0.32, 10.0.0.33, and so on." -msgstr "" -"Nodos de Computação adicionais devem utilizar 10.0.0.32, 10.0.0.33, e assim " -"por diante." - -msgid "Additional compute nodes should use 10.0.1.32, 10.0.1.33, and so on." -msgstr "" -"Nodos de computação adicionais devem utilizar 10.0.1.32, 10.0.1.33, e assim " -"por diante." - -msgid "Adjust ownership and permissions on this directory and the files in it:" -msgstr "Ajuste as propriedades e permissões nesse diretório e seus arquivos:" - -msgid "After you create this file, run this command:" -msgstr "Depois de criar este arquivo, execute este comando:" - -msgid "" -"After you install and configure the dashboard, you can complete the " -"following tasks:" -msgstr "" -"Depois de instalar e configurar o painel, você pode completar as seguintes " -"tarefas." - -msgid "" -"All Debian packages for API services, except the heat-api " -"package, register the service in the Identity Service catalog. This feature " -"is helpful because API endpoints are difficult to remember." -msgstr "" -"Todos os pacotes Debian para serviços de API, exceto o pacote heat-" -"api, registram o serviço no catálogo do Serviço de Identidade. " -"Essa característica é útil porque os endpoints da API são difíceis de " -"lembrar." - -msgid "" -"All OpenStack packages are written in Python. All packages support version " -"2.7; porting to Python version 3 is ongoing. Note that Debian Wheezy uses " -"Python 2.6 and 2.7, with Python 2.7 as the default interpreter; Sid has only " -"Python 2.7. There is one packaging change between these two. In Python 2.6, " -"you installed the python-argparse package separately. In " -"Python 2.7, this package is installed by default. Unfortunately, in Python " -"2.7, this package does not include Provides: python-argparse " -"directive." -msgstr "" -"Todos os pacotes do OpenStack são escritos em Python. Todos os pacotes " -"suportam a versão 7; a portabilidade para versão 3 está em andamento. " -"Observe que o Debian Wheezy utiliza o Python versão 2.6 e 2.7, com Python " -"2.7 como o interpretador padrão; Sid tem somente Python 2.7. Não há mudanças " -"significativas entre esses pacotes. No Python 2.7 este pacote é instalado " -"por padrão. Infelizmente no Python 2.7, este pacote não inclui a diretiva " -"Provides: python-argparse." - -msgid "Allow all hosts to access the dashboard:" -msgstr "Permita a todos os hosts acessarem o dashboard:" - -msgid "" -"Also add this content to the /etc/hosts file on all " -"other nodes in your environment." -msgstr "" -"Adicione também este conteúdo ao arquivo /etc/hosts em " -"todos os outros nodos em seu ambiente." - -msgid "" -"Alternatively, if you do not want to install this package, run this script " -"to enable remote root access:" -msgstr "" -"Alternativamente, se você não quiser instalar este pacote, execute este " -"script para habilitar o acesso remoto de root:" - -msgid "" -"Another way to disable the debconf package is to prefix the command with " -"DEBIAN_FRONTEND=noninteractive, as follows:" -msgstr "" -"Outra maneira de desabilitar o pacote debconf é prefixar o comando com " -"DEBIAN_FRONTEND=noninteractive, como segue:" - -msgid "" -"Any given Networking set up has at least one external network. Unlike the " -"other networks, the external network is not merely a virtually defined " -"network. Instead, it represents a view into a slice of the physical, " -"external network accessible outside the OpenStack installation. IP addresses " -"on the external network are accessible by anybody physically on the outside " -"network. Because the external network merely represents a view into the " -"outside network, DHCP is disabled on this network." -msgstr "" -"Qualquer configuração de rede dada tem ao menos uma rede externa. Diferente " -"de outras redes, a rede externa não é meramente uma rede virtualmente " -"definida. Em vez disso, ela representa uma visão dentro de uma fatia da rede " -"física externa, acessível de fora da instalação do OpenStack. Os endereços " -"IP na rede externa são acessíveis por qualquer um na rede de fora. Devido a " -"rede externa meramente representar uma visão na rede de fora, o DHCP é " -"desabilitado nessa rede." - -msgid "Architecture" -msgstr "Arquitetura" - -msgid "" -"As an example, here are screenshots from the cinder-common package:" -msgstr "" -"Com um exemplo, aqui estão telas do pacote cinder-common:" - -msgid "Assigned during package installation" -msgstr "Atribuído durante a instalação de pacotes." - -msgid "Associate the floating IP address with your instance:" -msgstr "Associe o endereço IP flutuante com a sua instância:" - -msgid "" -"Attach the demo-volume1 volume to the demo-" -"instance1 instance:" -msgstr "" -"Conectar o volume demo-volume1 à instância demo-" -"instance1:" - -msgid "Attach the router to the demo tenant subnet:" -msgstr "Conecte o roteador à subrede de tenant demo:" - -msgid "Attach the router to the external network by setting it as the gateway:" -msgstr "Conecte o roteador à rede externa configurando-o como o gateway:" - -msgid "" -"Authenticate using admin or demo user " -"credentials." -msgstr "" -"Autentique-se usando as credenciais de usuário admin ou " -"demo." - -msgid "Basic environment" -msgstr "Ambiente básico" - -msgid "" -"Because most OpenStack services must access the Identity Service, you must " -"configure the IP address of the keystone server to be able to " -"access it. You must also configure the admin_tenant_name, " -"admin_user, and admin_password options for each " -"service to work." -msgstr "" -"Como a maioria dos serviços do OpenStack deve acessar o Serviço de " -"Identidade, você deve configurar o endereço IP do servidor do " -"keystone de modo a poder acessá-lo. Você deve configurar também " -"as opções admin_tenant_name, admin_user, e " -"admin_password para cada serviço funcionar." - -msgid "" -"Because the packages are maintained in Sid where the Provides: python-" -"argparse directive causes an error, and the Debian OpenStack " -"maintainer wants to maintain one version of the OpenStack packages, you must " -"manually install the python-argparse on each OpenStack " -"system that runs Debian Wheezy before you install the other OpenStack " -"packages. Use the following command to install the package:" -msgstr "" -"Como os pacotes são mantidos na Sid onde a diretiva Provides: python-" -"argparse causa um erro, e o mantenedor do Debian OpenStack quer " -"manter uma versão dos pacotes OpenStack, você deve instalar manualmente o " -"python-argparse em cada sistema OpenStack que roda Debian " -"Wheezy antes de instalar outros pacotes OpenStack. Utilize os seguintes " -"comandos para instalar o pacote:" - -msgid "" -"Because this configuration uses a SQL database server, you can remove the " -"SQLite database file:" -msgstr "" -"Devido esta configuração utilizar um servidor de banco de dados SQL, você " -"pode remover o arquivo de banco de dados SQLite:" - -msgid "" -"Before launching your first instance, you must create the necessary virtual " -"network infrastructure to which the instance will connect. This network " -"typically provides Internet access from instances. You " -"can enable Internet access to individual instances " -"using a floating IP address and suitable " -"security group rules. The admin " -"tenant owns this network because it provides external network access for " -"multiple tenants." -msgstr "" -"Antes de lançar sua primeira instância, você deve criar a infraestrutura " -"virtual de rede necessária, à qual a instância irá se conectar. Esta rede " -"tipicamente fornece acesso Internet a partir dasinstâncias. Você pode habilitar o acesso Internet para instâncias individuais usando um endereço IP flutuante e regras adequadas de grupo de segurança. " -"O tenant admin detém esta rede porque ele fornece acesso " -"de rede externo para múltiplos tenants." - -msgid "Before you begin" -msgstr "Antes de você começar" - -msgid "" -"Before you configure the OpenStack Identity service, you must create a " -"database and an administration token." -msgstr "" -"Antes de você configurar o serviço de Identidade do OpenStack, você deve " -"criar um banco de dados e um token de administração." - -msgid "" -"Before you install and configure OpenStack Networking, you must configure " -"certain kernel networking parameters." -msgstr "" -"Antes de você instalar e configurar a Rede OpenStack, você deve configurar " -"certos parâmetros de rede do kernel." - -msgid "" -"Before you install and configure Orchestration, you must create a database, " -"service credentials, and API endpoints." -msgstr "" -"Antes de instalar e configurar a Orquestração, você deve criar uma base de " -"dados, credenciais de serviço, e endpoints de API." - -msgid "" -"Before you install and configure Telemetry, you must install " -"MongoDB." -msgstr "" -"Antes de você instalar e configurar a Telemetria, você deve instalar o " -"MongoDB." - -msgid "" -"Before you proceed, ensure that the controller node has at least several " -"gigabytes of space available in this directory." -msgstr "" -"Antes de prosseguir, certifique-se de que o nodo controlador tem pelo menos " -"vários gigabytes de espaço disponível neste diretório." - -msgid "" -"By default in Debian, you can access the MySQL server from either localhost " -"through the socket file or 127.0.0.1. To access it over the network, you " -"must edit the /etc/mysql/my.cnf file, and the " -"mysql.user table. To do so, Debian provides a helper " -"script in the openstack-deploy package. To use it, " -"install the package and run:" -msgstr "" -"Por padrão no Debian, você pode acessar o servidor MySQL através do arquivo " -"de soquete ou pelo endereço 127.0.0.1. Para acessá-lo pela rede, você deve " -"editar o arquivo /etc/mysql/my.cnf, e a tabela " -"mysql.user table. Para isto, O Debian fornece um script " -"auxiliar no pacote package>openstack-deploy. Para utilizá-lo, " -"instale o pacote e execute:" - -msgid "" -"By default, dbconfig-common does not provide access to " -"database servers over a network. If you want the dbconfig-common package to prompt for remote database servers that are accessed " -"over a network and not through a UNIX socket file, reconfigure it, as " -"follows:" -msgstr "" -"Por padrão, o dbconfig-common não fornece acesso a " -"servidores de banco de dados através de uma rede. Se você quiser que o " -"pacote dbconfig-common solicite pelos servidores remotos " -"de banco de dados que são acessados através de uma rede e não através do " -"arquivo de soquete UNIX, reconfigure-o como segue:" - -msgid "" -"By default, Compute uses an internal firewall service. Since Networking " -"includes a firewall service, you must disable the Compute firewall service " -"by using the nova.virt.firewall.NoopFirewallDriver " -"firewall driver." -msgstr "" -"Por padrão, a Computação utiliza o serviço de firewall interno. Como o " -"serviço de Rede inclui um serviço de firewall, você deve desabilitar o " -"serviço de firewall da Computação utilizando o driver de firewall " -"nova.virt.firewall.NoopFirewallDriver." - -msgid "" -"By default, MongoDB creates several 1GB journal files in the /var/lib/" -"mongodb/journal directory. If you want to reduce the size of each journal " -"file to 128MB and limit total journal space consumption to 512MB, assert the " -"smallfiles key:" -msgstr "" -"Por padrão, o MongoDB cria vários arquivos journal de 1GB no diretório /var/" -"lib/mongodb/journal. Se você quiser reduzir o tamanho de cada arquivo de " -"journal para 128MB e limitar o consumo toral de espaço de journal para " -"512MB, marque a chave smallfiles:" - -msgid "" -"By default, SLES and openSUSE use a SQL database for session storage. For " -"simplicity, we recommend changing the configuration to use " -"memcached for session storage." -msgstr "" -"Por padrão, o SLES e o openSUSE utilizam uma base de dados SQL para " -"armazenamento de sessão. Para simplificar, recomendamos alterar a " -"configuração para utilizar memcached para " -"armazenamento de sessão." - -msgid "" -"By default, distribution packages configure Compute to use legacy " -"networking. You must reconfigure Compute to manage networks through " -"Networking." -msgstr "" -"Por padrão, os pacotes de distribuição configuram a Computação para utilizar " -"a rede legada. Você deve reconfigurar a Computação para gerenciar redes " -"através do serviço de Rede." - -msgid "" -"By default, the dbconfig-common package configures the " -"OpenStack services to use SQLite. So if you use debconf " -"in non-interactive mode and without pre-seeding, the OpenStack services that " -"you install will use SQLite." -msgstr "" -"Por padrão, o pacote dbconfig-common configura os " -"serviços OpenStack para utilizarem SQLite. Assim se você usar o " -"debconf em modo não-interativo e sem pré-respostas, os " -"serviços OpenStack que você instalar utilizarão SQLite." - -msgid "By default, the Ubuntu packages create a SQLite database." -msgstr "Por padrão, os pacotes do Ubuntu criam um banco de dados SQLite." - -msgid "By default, the Ubuntu packages create an SQLite database." -msgstr "Por padrão, os pacotes do Ubuntu criam uma base de dados SQLite." - -msgid "" -"By default, the Ubuntu packages create an SQLite database. Because this " -"configuration uses a SQL database server, remove the SQLite database file:" -msgstr "" -"Por padrão, os pacotes do Ubuntu criam uma base de dados SQLite. Como esta " -"configuração utiliza um servidor de banco de dados SQL, remova o arquivo de " -"base de dados SQLite." - -msgid "" -"By default, the controller node synchronizes the time via a pool of public " -"servers. However, you can optionally edit the /etc/ntp.conf file to configure alternative servers such as those provided by " -"your organization." -msgstr "" -"Por padrão o nodo controlador sincroniza o tempo através de um conjunto de " -"servidores públicos. Contudo, você pode opcionalmente editar o arquivo " -"/etc/ntp.conf para configurar servidores alternativos " -"tais como aqueles fornecidos por sua organização." - -msgid "CEILOMETER_DBPASS" -msgstr "CEILOMETER_DBPASS" - -msgid "CEILOMETER_PASS" -msgstr "CEILOMETER_PASS" - -msgid "CINDER_DBPASS" -msgstr "CINDER_DBPASS" - -msgid "CINDER_PASS" -msgstr "CINDER_PASS" - -msgid "CentOS and Fedora do not require these repositories." -msgstr "CentOS e Fedora não requerem esses repositórios." - -msgid "Change to the /etc/swift directory." -msgstr "Mude para o diretório /etc/swift." - -msgid "Check the status of your floating IP address:" -msgstr "Verifique o estado de seus endereços IP flutuantes:" - -msgid "Check the status of your instance:" -msgstr "Verifique o estado de sua instância:" - -msgid "Choose a suitable password for the database root account." -msgstr "Escolha uma senha adequada para a conta root do banco de dados." - -msgid "" -"Comment out any auth_host, auth_port, " -"and auth_protocol options because the " -"identity_uri option replaces them." -msgstr "" -"Comente quaisquer opções auth_host, auth_port, e auth_protocol, porque a opção " -"identity_uri as substitui." - -msgid "Comment out any other session storage configuration." -msgstr "Comente qualquer outra sessão de configuração de armazenamento." - -msgid "" -"Comment out or remove all but one server key and change " -"it to reference the controller node." -msgstr "" -"Comente ou remova todas as chaves exceto a chave server e " -"altere-a para referenciar o nodo controlador." - -msgid "Complete OpenStack environments already include some of these packages." -msgstr "Ambientes OpenStack completos já incluem alguns destes pacotes." - -msgid "Compute Node: 1 processor, 2 GB memory, and 10 GB storage" -msgstr "" -"Nodo de Computação: 1 processador, 2 GB de memória, e 10GB de armazenamento" - -msgid "Compute node" -msgstr "Nodo de computação" - -msgid "Conceptual architecture" -msgstr "Arquitetura conceitual" - -msgid "Configure OpenStack with debconf" -msgstr "Configurar o OpenStack com o debconf" - -msgid "Configure compute node" -msgstr "Configure o nodo de Computação" - -msgid "Configure controller node" -msgstr "Configure o nodo controlador" - -msgid "Configure hashes and default storage policy" -msgstr "Configure hashes e a política padrão de armazenamento" - -msgid "Configure shared items on both storage nodes:" -msgstr "Configure itens compartilhados em ambos os nodos de armazenamento:" - -msgid "" -"Configure the memcached session storage service:" -msgstr "" -"Configure a sessão de serviço de armazenamento do memcached:" - -msgid "" -"Configure the bind_ip key to use the management interface " -"IP address of the controller node." -msgstr "" -"Configure a chave bind_ip para utilizar o endereço IP da " -"interface de gerenciamento do nodo controlador." - -msgid "Configure the Block Storage service" -msgstr "Configure o serviço de Block Storage" - -msgid "Configure the Compute service" -msgstr "Configure o serviço de Computação" - -msgid "Configure the Image service" -msgstr "Configuração do serviço de Imagem" - -msgid "Configure the Object Storage service" -msgstr "Configurar o serviço Object Storage" - -msgid "Configure the authentication token:" -msgstr "Configure o token de autenticação:" - -msgid "" -"Configure the dashboard to use OpenStack services on the " -"controller node:" -msgstr "" -"Configure o dashboard para utilizar os serviços OpenStack no nodo " -"controlador:" - -msgid "Configure the database with dbconfig-common" -msgstr "Configure o banco de dados com o dbconfig-common" - -msgid "Configure the endpoint URL:" -msgstr "Configure o endpoint URL:" - -msgid "Configure the first interface as the management interface:" -msgstr "Configure a primeira interface como interface de gerenciamento:" - -msgid "Configure the initial administration token:" -msgstr "Configure o token de administração inicial:" - -msgid "Configure the management interface:" -msgstr "Configurar a interface de gerenciamento:" - -msgid "" -"Configure the network and compute nodes to reference the controller node." -msgstr "" -"Configure os nodos de computação e de rede para referenciar o nodo " -"controlador." - -msgid "Configure the second interface as the instance tunnels interface:" -msgstr "Configure a segunda interface com interface de instância de túneis:" - -msgid "Configure the web server:" -msgstr "Configure o servidor web:" - -msgid "Configure unique items on the first storage node:" -msgstr "Configurar itens únicos no primeiro nodo de armazenamento:" - -msgid "Configure unique items on the second storage node:" -msgstr "Configurar itens únicos no segundo nodo de armazenamento:" - -msgid "Confirm upload of the image and validate attributes:" -msgstr "Confirme o upload da imagem e valide os atributos:" - -msgid "Container ring" -msgstr "Anel contêiner" - -msgid "" -"Contents in the condition column should indicate " -"sys.peer for at least one server." -msgstr "" -"O conteúdo na coluna condition deve indicar o " -"sys.peer para pelo menos um servidor." - -msgid "" -"Contents in the condition column should indicate " -"sys.peer." -msgstr "" -"O conteúdo na coluna condition deve indicar o " -"sys.peer." - -msgid "" -"Contents in the refid column typically reference IP " -"addresses of upstream servers." -msgstr "" -"O conteúdo na coluna refid tipicamente referencia " -"endereços IP de servidores upstream." - -msgid "" -"Contents in the remote column should indicate the " -"hostname of the controller node." -msgstr "" -"O conteúdo na coluna remote deve indicar o hostname do " -"nodo controlador." - -msgid "" -"Contents in the remote column should indicate the " -"hostname or IP address of one or more NTP servers." -msgstr "" -"O conteúdo na coluna remote deve indicar o hostname ou " -"o endereço IP de um ou mais servidores NTP." - -msgid "Controller Node: 1 processor, 2 GB memory, and 5 GB storage" -msgstr "" -"Nodo Controlador: 1 processador, 2 GB de memória, e 5GB de armazenamento" - -msgid "Controller node" -msgstr "Nodo controlador" - -msgid "" -"Copy the account.ring.gz, container.ring.gz, and object.ring.gz files to the /" -"etc/swift directory on each storage node and any additional nodes " -"running the proxy service." -msgstr "" -"Copie os arquivos account.ring.gz, container." -"ring.gz, e object.ring.gz para o diretório " -"/etc/swift em cada nodo de armazenamento e em quaisquer " -"nodos adicionais que estejam executando o serviço de proxy." - -msgid "" -"Copy the swift.conf file to the /etc/swift directory on each storage node and any additional nodes running the " -"proxy service." -msgstr "" -"Copie o arquivo swift.conf para o diretório /" -"etc/swift em cada nodo de armazenamento e quaisquer nodos " -"adicionais que estejam executando o serviço de proxy." - -msgid "" -"Copy the WSGI components from the upstream repository into this directory:" -msgstr "Copie os componentes WSGI do repositório acima para esse diretório:" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node and add the following to it:" -msgstr "" -"Copie o conteúdo do arquivo /etc/hosts do nodo " -"controlador e adicione o seguinte a ele:" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node to the storage node and add the following to it:" -msgstr "" -"Copie o conteúdo do arquivo /etc/hosts do nodo " -"controlador para o nodo de storage e adicione o seguinte a ele:" - -msgid "Copyright details are filled in by the template." -msgstr "Detalhes de direitos autorais são preenchidos pelo modelo." - -msgid "Create OpenStack client environment scripts" -msgstr "Criar scripts de ambiente de cliente OpenStack" - -msgid "Create a 1 GB volume:" -msgstr "Crie um volume de 1 GB:" - -msgid "" -"Create a floating IP address on the ext-net external network:" -msgstr "" -"Crie um endereço IP flutuante na rede externa " -"ext-net:" - -msgid "Create a cinder user:" -msgstr "Crie um usuário cinder:" - -msgid "" -"Create a datastore. You need to create a separate datastore for each type of " -"database you want to use, for example, MySQL, MongoDB, Cassandra. This " -"example shows you how to create a datastore for a MySQL database:" -msgstr "" -"Crie um datastore. Você precisa criar um datastore separado para cada tipo " -"de banco de dados que você quiser utilizar, por exemplo, MySQL, MongoDB, " -"Cassandra. Este exemplo lhe mostra como criar um datastore para um banco de " -"dados MySQL:" - -msgid "Create a temporary local directory:" -msgstr "Crie um diretório local temporário" - -msgid "" -"Create a test template in the test-stack.yml file with " -"the following content:" -msgstr "" -"Crie um modelo de teste no arquivo test-stack.yml com o " -"seguinte conteúdo:" - -msgid "Create a trove image." -msgstr "Crie uma imagem do trove." - -msgid "" -"Create an administrative project, user, and role for administrative " -"operations in your environment:" -msgstr "" -"Crie um projeto, usuário e papel administrativo para operações " -"administrativas no seu ambiente:" - -msgid "" -"Create an image for the type of database you want to use, for example, " -"MySQL, MongoDB, Cassandra." -msgstr "" -"Crie uma imagem para o tipo de banco de dados que você quiser utilizar, por " -"exemplo, MySQL, MongoDB, Cassandra." - -msgid "" -"Create and edit the /etc/neutron/dnsmasq-neutron.conf " -"file and complete the following action:" -msgstr "" -"Crie e edite o arquivo /etc/neutron/dnsmasq-neutron.conf e complete as seguintes ações:" - -msgid "Create database schema: " -msgstr "Crie o esquema da base de dados: " - -msgid "Create initial network" -msgstr "Crie a rede inicial" - -msgid "Create initial networks" -msgstr "Crie as redes iniciais" - -msgid "Create initial rings" -msgstr "Criar anéis iniciais" - -msgid "Create projects, users, and roles" -msgstr "Crie projetos, usuários e papéis" - -msgid "Create the /etc/swift directory." -msgstr "Crie o diretório /etc/swift." - -msgid "Create the ResellerAdmin role:" -msgstr "Crie o papel ResellerAdmin:" - -msgid "Create the admin role:" -msgstr "Crie o papel admin:" - -msgid "Create the admin tenant and user:" -msgstr "Crie o tenant e o usuário admin:" - -msgid "Create the admin user:" -msgstr "Crie o usuário admin:" - -msgid "Create the ceilometer database:" -msgstr "Crie a base de dados do ceilometer:" - -msgid "Create the ceilometer service entity:" -msgstr "Crie a entidade de serviço ceilometer:" - -msgid "Create the ceilometer user:" -msgstr "Crie o usuário ceilometer:" - -msgid "Create the cinder database:" -msgstr "Crie a base de dados cinder :" - -msgid "Create the cinder service entities:" -msgstr "Crie as entidades de serviço cinder:" - -msgid "Create the demo user:" -msgstr "Crie o usuário demo:" - -msgid "Create the glance database:" -msgstr "Crie a base dados do glance:" - -msgid "Create the glance service entity:" -msgstr "Crie a entidade de serviço glance:" - -msgid "Create the glance user:" -msgstr "Crie o usuário glance:" - -msgid "" -"Create the heat and heat-cfn service " -"entities:" -msgstr "" -"Crie as entidades de serviço heat e heat-cfn:" - -msgid "Create the heat database:" -msgstr "Crie a base de dados heat:" - -msgid "Create the heat user:" -msgstr "Crie o usuário heat:" - -msgid "Create the heat_stack_owner role:" -msgstr "Crie o papel heat_stack_owner:" - -msgid "Create the heat_stack_user role:" -msgstr "Crie o papel heat_stack_user:" - -msgid "Create the keystone database:" -msgstr "Crie a base de dados do keystone:" - -msgid "Create the neutron database:" -msgstr "Crie a base de dados neutron:" - -msgid "Create the neutron service entity:" -msgstr "Crie a entidade de serviço neutron:" - -msgid "Create the neutron user:" -msgstr "Crie o usuário neutron:" - -msgid "Create the nova database:" -msgstr "Crie a base de dados do nova:" - -msgid "Create the nova service entity:" -msgstr "Crie a entidade de serviço nova:" - -msgid "Create the nova user:" -msgstr "Crie o usuário nova:" - -msgid "" -"Create the recon directory and ensure proper ownership of " -"it:" -msgstr "" -"Crie o diretório recon e garanta a propriedade adequada " -"dele:" - -msgid "Create the sahara database:" -msgstr "Crie a base de dados do sahara :" - -msgid "Create the service project:" -msgstr "Crie o projeto serviço:" - -msgid "Create the swift service entity:" -msgstr "Crie a entidade de serviço swift:" - -msgid "Create the swift user:" -msgstr "Crie o usuário swift:" - -msgid "Create the user role:" -msgstr "Crie o papel do usuário:" - -msgid "Create the Block Storage service API endpoints:" -msgstr "Crie os endpoints de API do serviço Block Storage:" - -msgid "Create the Identity service API endpoint:" -msgstr "Crie o endpoint da API do serviço de Identidade:" - -msgid "Create the Identity service endpoints" -msgstr "Criando o endpoint do Serviço de Identidade" - -msgid "Create the LVM physical volume /dev/sdb1:" -msgstr "Crie o volume LVM físico /dev/sdb1:" - -msgid "Create the LVM volume group cinder-volumes:" -msgstr "Crie o grupo de volume LVM cinder-volumes:" - -msgid "Create the Networking service API endpoint:" -msgstr "Crie o endpoint da API do serviço de Rede" - -msgid "Create the Orchestration service API endpoints:" -msgstr "Crie os endpoints de API do serviço de Orquestração:" - -msgid "Create the base account.builder file:" -msgstr "Crie o arquivo base account.builder:" - -msgid "Create the base container.builder file:" -msgstr "Crie o arquivo base container.builder:" - -msgid "Create the base object.builder file:" -msgstr "Crie o arquivo base object.builder:" - -msgid "Create the directory structure for the WSGI components:" -msgstr "Crie a estrutura de diretório para os componentes WSGI:" - -msgid "Create the heat domain in Identity service:" -msgstr "Crie o domínio heat no serviço de Identidade:" - -msgid "Create the mount point directory structure:" -msgstr "Criar a estrutura de diretório de ponto de montagem:" - -msgid "Create the network:" -msgstr "Crie a rede" - -msgid "Create the router:" -msgstr "Criar o roteador:" - -msgid "Create the service entity and API endpoint" -msgstr "Criar a entidade de serviço e o endpoint de API" - -msgid "Create the service entity for the Identity service:" -msgstr "Criar a entidade de serviço para o Serviço de Identidade:" - -msgid "Create the subnet:" -msgstr "Crie a subrede:" - -msgid "DBNAME" -msgstr "DBNAME" - -msgid "DEMO_NET_ID" -msgstr "DEMO_NET_ID" - -msgid "DEMO_PASS" -msgstr "DEMO_PASS" - -msgid "DEVICE_NAME" -msgstr "DEVICE_NAME" - -msgid "DEVICE_WEIGHT" -msgstr "DEVICE_WEIGHT" - -msgid "" -"Database population occurs later for Networking because the script requires " -"complete server and plug-in configuration files." -msgstr "" -"O preenchimento da base de dados ocorre mais tarde para a Rede porque o " -"script requer arquivos de configuração completos de servidor e de plug-in." - -msgid "Debian 7" -msgstr "Debian 7" - -msgid "Debian does not use a separate ML2 plug-in package." -msgstr "O Debian não utiliza um pacote separado do plug-in ML2." - -msgid "Default gateway: 10.0.0.1" -msgstr "Gateway padrão: 10.0.0.1" - -msgid "" -"Depending on your network interface driver, you may need to disable " -"generic receive offload (GRO) to achieve suitable " -"throughput between your instances and the external network." -msgstr "" -"Dependendo do seu driver de interface de rede, você poderá precisar " -"desabilitar o generic receive offload (GRO) para " -"alcançar a taxa de transferência desejada entre suas instâncias e a rede " -"externa." - -msgid "Description" -msgstr "Descrição" - -msgid "" -"Determine whether your compute node supports hardware acceleration for " -"virtual machines:" -msgstr "" -"Determine se seu nodo de Computação suporta aceleração de hardware para " -"máquinas viruais:" - -msgid "" -"Disable or remove any automatic update services because they can impact your " -"OpenStack environment." -msgstr "" -"Desabilite ou remova quaisquer serviços de atualização automática porque " -"eles podem impactar seu ambiente OpenStack." - -msgid "" -"Disable the keystone service from " -"starting automatically after installation:" -msgstr "" -"Desabilite o serviço keystone de " -"iniciar automaticamente após instalação:" - -msgid "Distribute ring configuration files" -msgstr "Distribua os arquivos de configuração de anel" - -msgid "" -"Distributions release OpenStack packages as part of the distribution or " -"using other methods because of differing release schedules. Perform these " -"procedures on all nodes." -msgstr "" -"As distribuições lançam pacotes OPenStack como parte da distribuição ou " -"utilizando outros métodos, por causa dos diferentes calendários de " -"lançamentos. Execute esses procedimentos em todos os nodos." - -msgid "" -"Do not change the HWADDR and UUID keys." -msgstr "" -"Não altere as chaves HWADDR and UUID ." - -msgid "" -"Do not repeat this step when creating additional users for this project." -msgstr "Não repita esse passo ao criar novos usuários para esse projeto." - -msgid "Download a test file:" -msgstr "Baixar um arquivo de teste:" - -msgid "Download an image from the Image service:" -msgstr "Faça o download de uma imagem do serviço de Imagem:" - -msgid "Download the source image into it:" -msgstr "Faça o download da imagem de origem para dentro dele:" - -msgid "" -"Due to a packaging bug, the Open vSwitch agent initialization script " -"explicitly looks for the Open vSwitch plug-in configuration file rather than " -"a symbolic link /etc/neutron/plugin.ini pointing to the " -"ML2 plug-in configuration file. Run the following commands to resolve this " -"issue:" -msgstr "" -"Devido a um bug de empacotamento, o script de inicialização do agente Open " -"vSwitch olha explicitamente para o arquivo de configuração do plug-in do " -"Open vSwitch em vez de um link simbólico /etc/neutron/plugin.ini apontando para o arquivo de configuração do plugin ML2. Execute os " -"seguintes comandos para resolver este problema:" - -msgid "" -"Due to a packaging bug, the dashboard CSS fails to load properly. Run the " -"following command to resolve this issue:" -msgstr "" -"Devido a um bug de empacotamento, o CSS do dashboard falha para carregar " -"adequadamente. Execute os seguintes comandos para resolver esse problema:" - -msgid "" -"During the final stage of the package installation, it is possible to " -"automatically create an admin tenant and an admin user. This can later be " -"used for other OpenStack services to contact the Identity service. This is " -"the equivalent of running the below commands:" -msgstr "" -"Durante o estágio final de instalação de pacotes, é possível criar um " -"inquilino administrador e um usuário administrador. Isso pode ser usado " -"depois por outros serviços do OpenStack para contactar o Serviço de " -"Identidade. Isso é o equivalente a rodar os seguintes comandos: " - -msgid "EXTERNAL_NETWORK_CIDR" -msgstr "EXTERNAL_NETWORK_CIDR" - -msgid "EXTERNAL_NETWORK_GATEWAY" -msgstr "EXTERNAL_NETWORK_GATEWAY" - -msgid "" -"Each item in the filter array begins with a for " -"accept or r for reject and includes a regular expression for the device name. The array " -"must end with r/.*/ to reject any remaining devices. You " -"can use the command to test filters." -msgstr "" -"Cada item na matriz de filtro começa com a para " -"aceitar ou r para " -"rejeitar e inclui uma expressão regular para o nome do " -"dispositivo. A matriz deve finalizar com r/.*/ para " -"rejeitar qualquer dispositivo restante. Você pode escolher utilizar os " -"comandos para testar os filtros." - -msgid "" -"Each plug-in that Networking uses has its own concepts. While not vital to " -"operating the VNI and OpenStack environment, understanding these concepts " -"can help you set up Networking. All Networking installations use a core plug-" -"in and a security group plug-in (or just the No-Op security group plug-in). " -"Additionally, Firewall-as-a-Service (FWaaS) and Load-Balancer-as-a-Service " -"(LBaaS) plug-ins are available." -msgstr "" -"Cada plug-in que o Networking utiliza, tem seus próprios conceitos. Embora " -"não seja vital para operar o VNI e o ambiente OpenStack, entender estes " -"conceitos pode ajudá-lo a configurar o Networking. Todas as instalações do " -"Networking utilizam um plug-in central e um plug-in de grupo de segurança " -"(ou simplesmente plug-in de grupo de segurança No-Op). Adicionalmente, os " -"plug-ins de Firewall-as-a-Service (FWaaS) e Load-Balancer-as-a-Service " -"(LBaaS) estão disponíveis." - -msgid "" -"Each router has one gateway that connects to a network, and many interfaces " -"connected to subnets. Subnets can access machines on other subnets connected " -"to the same router." -msgstr "" -"Cada roteador tem um gateway que conecta à rede, e várias interfaces " -"conectadas a sub-redes.\n" -"Sub-redes podem acessar máquinas em outras sub-redes conectadas ao mesmo " -"roteador." - -msgid "Each user belongs to a user group with the same name as the user." -msgstr "" -"Cada usuário pertence a um grupo de usuários com o mesmo nome do usuário." - -msgid "Edit /etc/sahara/sahara.conf configuration file" -msgstr "" -"Edite o arquivo de configuração /etc/sahara/sahara.conf" - -msgid "" -"Edit the /etc/mysql/my.cnf/etc/my.cnf file and change the max_allowed_packet option:" -msgstr "" -"Edite o arquivo /etc/mysql/my.cnf/etc/my.cnf e altere a opção max_allowed_packet:" - -msgid "" -"Edit the /etc/ceilometer/ceilometer.conf file and " -"complete the following actions:" -msgstr "" -"Edite o arquivo /etc/ceilometer/ceilometer.conf e " -"complete as seguintes ações:" - -msgid "" -"Edit the /etc/cinder/cinder.conf file and complete the " -"following actions:" -msgstr "" -"Edite o arquivo /etc/cinder/cinder.conf e complete as " -"seguintes ações:" - -msgid "" -"Edit the /etc/default/rsync file and enable the " -"rsync service:" -msgstr "" -"Edite o arquivo /etc/default/rsync e habilite o serviço " -"rsync:" - -msgid "" -"Edit the /etc/fstab file and add the following to it:" -msgstr "" -"Edite o arquivo /etc/fstab e adicione o seguinte a ele:" - -msgid "" -"Edit the /etc/glance/glance-api.conf file and complete " -"the following actions:" -msgstr "" -"Edite o arquivo /etc/glance/glance-api.conf e complete " -"as seguintes ações:" - -msgid "" -"Edit the /etc/glance/glance-registry.conf file and " -"complete the following actions:" -msgstr "" -"Edite o arquivo /etc/glance/glance-registry.conf e " -"complete as seguintes ações:" - -msgid "" -"Edit the /etc/heat/heat.conf file and complete the " -"following actions:" -msgstr "" -"Edite o arquivo /etc/heat/heat.conf e complete as " -"seguintes ações:" - -msgid "Edit the /etc/hosts file to contain the following:" -msgstr "" -"Edite o arquivo /etc/hosts para conter o seguinte:" - -msgid "" -"Edit the /etc/keystone/keystone.conf file and complete " -"the following actions:" -msgstr "" -"Edite o arquivo /etc/keystone/keystone.conf e complete " -"as seguintes ações:" - -msgid "" -"Edit the /etc/mongodb.conf file and complete the " -"following actions:" -msgstr "" -"Edite o arquivo /etc/mongodb.conf e complete as " -"seguintes ações:" - -msgid "" -"Edit the /etc/network/interfaces file to contain the " -"following:" -msgstr "" -"Edite o arquivo /etc/network/interfaces para conter o " -"seguinte:" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following action:" -msgstr "" -"Edite o arquivo /etc/neutron/dhcp_agent.ini e complete " -"as seguintes ações:" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following actions:" -msgstr "" -"Edite o arquivo /etc/neutron/dhcp_agent.ini e complete " -"as seguintes ações:" - -msgid "" -"Edit the /etc/neutron/l3_agent.ini file and complete " -"the following actions:" -msgstr "" -"Edite o arquivo /etc/neutron/l3_agent.ini e complete " -"as seguintes ações:" - -msgid "" -"Edit the /etc/neutron/metadata_agent.ini file and " -"complete the following actions:" -msgstr "" -"Edite o arquivo /etc/neutron/metadata_agent.ini e " -"complete as seguintes ações:" - -msgid "" -"Edit the /etc/neutron/neutron.conf file and complete " -"the following actions:" -msgstr "" -"Edite o arquivo /etc/neutron/neutron.conf e complete as " -"seguintes ações:" - -msgid "" -"Edit the /etc/neutron/plugins/ml2/ml2_conf.ini file and " -"complete the following actions:" -msgstr "" -"Edite o arquivo /etc/neutron/plugins/ml2/ml2_conf.ini e " -"complete as seguintes ações:" - -msgid "" -"Edit the /etc/nova/nova.conf file and complete the " -"following actions:" -msgstr "" -"Edite o aqruivo /etc/nova/nova.conf e complete as " -"seguintes ações:" - -msgid "" -"Edit the /etc/nova/nova.conf file and configure " -"notifications in the [DEFAULT] section:" -msgstr "" -"Edite o arquivo /etc/nova/nova.conf e configure as " -"notificações na seção [DEFAULT]:" - -msgid "" -"Edit the /etc/nova/nova.conf file on the controller " -"node and complete the following actions:" -msgstr "" -"Edite o arquivo /etc/nova/nova.conf no nodo controlador " -"e complete as seguintes ações:" - -msgid "" -"Edit the /etc/ntp.conf file and add, change, or remove " -"the following keys as necessary for your environment:" -msgstr "" -"Edite o arquivo /etc/ntp.conf e adicione, altere ou " -"remova as seguintes chaves conforme necessário para seu ambiente:" - -msgid "Edit the /etc/ntp.conf file:" -msgstr "Edite o arquivo /etc/ntp.conf:" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings.py " -"file and complete the following actions:" -msgstr "" -"Edite o arquivo /etc/openstack-dashboard/local_settings.py e complete as seguintes ações:" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings file " -"and complete the following actions:" -msgstr "" -"Edite o arquivo /etc/openstack-dashboard/local_settings " -"e complete as seguintes ações:" - -msgid "" -"Edit the /etc/rsyncd.conf file and add the following to " -"it:" -msgstr "" -"Edite o arquivo /etc/rsyncd.conf e adicione o seguinte " -"a ele:" - -msgid "" -"Edit the /etc/swift/account-server.conf file and " -"complete the following actions:" -msgstr "" -"Edite o arquivo /etc/swift/account-server.conf e " -"complete as seguintes ações:" - -msgid "" -"Edit the /etc/swift/container-server.conf file and " -"complete the following actions:" -msgstr "" -"Edite o arquivo /etc/swift/container-server.conf e " -"complete as seguintes ações:" - -msgid "" -"Edit the /etc/swift/object-server.conf file and " -"complete the following actions:" -msgstr "" -"Edite o arquivo /etc/swift/object-server.conf e " -"complete as seguintes ações:" - -msgid "" -"Edit the /etc/swift/proxy-server.conf file and complete " -"the following actions:" -msgstr "" -"Edite o arquivo /etc/swift/proxy-server.conf e complete " -"as seguintes ações:" - -msgid "" -"Edit the /etc/swift/swift.conf file and complete the " -"following actions:" -msgstr "" -"Edite o arquivo /etc/swift/swift.conf e complete as " -"seguintes ações:" - -msgid "" -"Edit the /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME file to contain the " -"following:" -msgstr "" -"Edite o arquivo /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME para conter o seguinte:" - -msgid "" -"Edit the /etc/sysconfig/network/ifcfg-INTERFACE_NAME file to contain the following:" -msgstr "" -"Edite o arquivo /etc/sysconfig/network/ifcfg-" -"INTERFACE_NAME para conter o seguinte:" - -msgid "" -"Edit the /etc/sysctl.conf file to contain the following " -"parameters:" -msgstr "" -"Edite o arquivo /etc/sysctl.conf para conter os " -"seguintes parâmetros:" - -msgid "" -"Edit the /srv/www/openstack-dashboard/openstack_dashboard/local/" -"local_settings.py file and complete the following actions:" -msgstr "" -"Edite o arquivo /srv/www/openstack-dashboard/openstack_dashboard/" -"local/local_settings.py e complete as seguintes ações:" - -msgid "" -"Edit the admin-openrc.sh file and add the following " -"content:" -msgstr "" -"Edite o arquivo admin-openrc.sh e adicione o seguinte " -"conteúdo:" - -msgid "" -"Edit the demo-openrc.sh file and add the following " -"content:" -msgstr "" -"Edite o arquivo demo-openrc.sh e adicione o seguinte " -"conteúdo:" - -msgid "" -"Edit the trove-taskmanager.conf file so it includes the " -"required settings to connect to the OpenStack Compute service as shown below:" -msgstr "" -"Edite o arquivo trove-taskmanager.conf para que ele " -"inclua as configurações requeridas para conectar ao serviço de Computação do " -"OpenStack como mostrado abaixo:" - -msgid "" -"Edit the trove.conf file so it includes appropriate " -"values for the default datastore and network label regex as shown below:" -msgstr "" -"Edite o arquivo trove.conf para que ele inclua valores " -"apropriados para o datastore e o rótulo de rede regex como mostrado abaixo:" - -msgid "" -"Edit the [libvirt] section in the /etc/nova/nova-compute.conf/etc/nova/nova.conf file as follows:" -msgstr "" -"Edite a seção [libvirt] nos arquivos /etc/nova/nova-compute.conf,/etc/nova/nova.conf como segue:" - -msgid "Enable the DHCP MTU option (26) and configure it to 1454 bytes:" -msgstr "Habilite a opção (26) DHCP MTU e configure-a para 1454 bytes:" - -msgid "Enable the Identity service virtual hosts:" -msgstr "Habilite os hosts virtuais do serviço de Identidade" - -msgid "" -"Enable the Open Build Service repositories based on your openSUSE or SLES " -"version:" -msgstr "" -"Habilite os repositórios de Open Build Service baseado na sua versão de " -"openSUSE ou SLES:" - -msgid "" -"Enable the Open Build Service repositories for MongoDB based on your " -"openSUSE or SLES version:" -msgstr "" -"Habilite os repositórios Open Build Service para MongoDB baseado em sua " -"versão openSUSE ou SLES:" - -msgid "Ensure proper ownership of the mount point directory structure:" -msgstr "" -"Garanta a propriedade adequada da estrutura de diretórios do ponto de " -"montagem:" - -msgid "Ensure the kernel module nbd is loaded." -msgstr "" -"Certifique-se de que o módulo de kernel nbd está " -"carregado." - -msgid "Example architectures" -msgstr "Arquiteturas de exemplo" - -msgid "Example for uploading rules for MySQL datastore:" -msgstr "Exemplo para carregar regras para o datastore MySQL:" - -msgid "Example using 192.168.1.0/24:" -msgstr "Exemplo utilizando 192.168.1.0/24:" - -msgid "Exit the database access client." -msgstr "Saia do cliente de acesso a banco de dados." - -msgid "External network" -msgstr "Rede externa" - -msgid "External on 203.0.113.0/24 with gateway 203.0.113.1" -msgstr "Externa na 203.0.113.0/24 com gateway 203.0.113.1" - -msgid "FILE" -msgstr "FILE" - -msgid "FLOATING_IP_END" -msgstr "FLOATING_IP_END" - -msgid "FLOATING_IP_START" -msgstr "FLOATING_IP_START" - -msgid "Fedora does not require this package." -msgstr "O Fedora não requer este pacote." - -msgid "Fedora does not require this repository." -msgstr "Fedora não requer esse repositório." - -msgid "Finalize installation" -msgstr "Finalizar a instalação" - -msgid "" -"For OpenStack services, this guide uses SERVICE_PASS to reference service account passwords and " -"SERVICE_DBPASS to reference database passwords." -msgstr "" -"Para os serviços OpenStack, este guia utiliza SERVICE_PASS para referenciar volume de serviços, senhas e " -"replaceable>SERVICE_DBPASS para referenciar as senhas no banco " -"de dados." - -msgid "" -"For best performance, we recommend that your environment meets or exceeds " -"the hardware requirements in or . However, OpenStack does not require a significant " -"amount of resources and the following minimum requirements should support a " -"proof-of-concept environment with core services and several " -"CirrOS instances:" -msgstr "" -"Para melhor desempenho, recomendamos que seu ambiente atenda ou exceda os " -"requerimentos de hardware em ou . Contudo, o OpenStack não requer um tanto " -"significativo de recursos e os seguintes requerimentos mínimos devem " -"suportar um ambiente de prova de conceito com serviços principais e várias " -"instâncias CirrOS." - -msgid "" -"For every package that must connect to a Messaging Server, the Debian " -"package enables you to configure the IP address for that server and the user " -"name and password that is used to connect. The following example shows " -"configuration with the ceilometer-common package:" -msgstr "" -"Para cada pacote que deve se conectar a um servidor de mensagens, o pacote " -"Debian permite que você configure o endereço IP para esse servidor, além do " -"nome de usuário e senha que é usada para se conectar. O exemplo a seguir " -"mostra a configuração com o pacote ceilometer-" -"common:" - -msgid "" -"For example, using 203.0.113.0/24 with floating IP " -"address range 203.0.113.101 to 203.0.113.200:" -msgstr "" -"Por exemplo, utilizando 203.0.113.0/24 com a faixa de IP " -"flutuante de 203.0.113.101 até 203.0.113.200:" - -msgid "" -"For security reasons, disable the temporary authentication token mechanism:" -msgstr "" -"Por motivos de segurança, desabilite o mecanismo temporário de autenticação " -"por token." - -msgid "" -"For security reasons, do not use the temporary authentication token for " -"longer than necessary to initialize the Identity service." -msgstr "" -"Por razões de segurança, não use esse token temporário de autorização por " -"mais tempo do que o necessário para inicializar o serviço de Identidade." - -msgid "" -"For the restrict keys, you essentially remove the " -"nopeer and noquery options." -msgstr "" -"Para as chaves restrict , você essencialmente remove as " -"opções nopeer e noquery." - -msgid "" -"For the outside network to access VMs, and vice versa, routers between the " -"networks are needed. Each router has one gateway that is connected to a " -"network and many interfaces that are connected to subnets. Like a physical " -"router, subnets can access machines on other subnets that are connected to " -"the same router, and machines can access the outside network through the " -"gateway for the router." -msgstr "" -"Para a rede externa acessar as VMs, e vice versa, são necessários roteadores " -"entre as redes.\n" -"Cada roteador tem um gateway conectado a uma rede e muitas interfaces que " -"são conectadas a sub-redes. Como um roteador físico, as sub-redes podem " -"acessar máquinas em outras sub-redes que estão conectadas ao mesmo roteador, " -"e máquinas podem acessar a rede do lado de fora através do gateway para o " -"roteador." - -msgid "" -"Format the /dev/sdb1 and /dev/sdc1 " -"partitions as XFS:" -msgstr "" -"Formatar as partições /dev/sdb1 e /dev/sdc1 como XFS:" - -msgid "" -"From the compute node, a site on the " -"Internet:" -msgstr "" -"A partir do nodo de computação, um " -"site na Internet:" - -msgid "" -"From the compute node, the instance " -"tunnels interface on the network node:" -msgstr "" -"A partir do nodo de computação, a " -"interface de instâncias de túneis no nodo de rede:" - -msgid "" -"From the compute node, the management " -"interface on the controller node:" -msgstr "" -"A partir do nodo de computação, a " -"interface de gerenciamento no nodo controlador:" - -msgid "" -"From the controller node, a site on " -"the Internet:" -msgstr "" -"Do nodo controlador, um site na " -"Internet:" - -msgid "" -"From the controller node, the " -"management interface on the compute node:" -msgstr "" -"A partir do nodo controlador, a " -"interface de gerenciamento no nodo de computação:" - -msgid "" -"From the controller node, the " -"management interface on the network node:" -msgstr "" -"Do nodo controlador, a interface de " -"gerenciamento no nodo de rede:" - -msgid "" -"From the network node, a site on the " -"Internet:" -msgstr "" -"A partir do nodo de rede, um site na " -"Internet:" - -msgid "" -"From the network node, the instance " -"tunnels interface on the compute node:" -msgstr "" -"A partir do nodo de rede, a interface " -"de instâncias de túneis no nodo de computação:" - -msgid "" -"From the network node, the management " -"interface on the controller node:" -msgstr "" -"A partir do nodo de rede, a interface " -"de gerenciamento no nodo controlador:" - -msgid "GLANCE_DBPASS" -msgstr "GLANCE_DBPASS" - -msgid "GLANCE_PASS" -msgstr "GLANCE_PASS" - -msgid "Generally, this section looks like this:" -msgstr "Geralmente, essa sessão aparece dessa forma:" - -msgid "Generate a key pair:" -msgstr "Gere um par de chaves:" - -msgid "" -"Generate a random value to use as the administration token during initial " -"configuration:" -msgstr "" -"Gere um valor aleatório para utilizar como token de administração durante a " -"configuração inicial:" - -msgid "Generate and add a key pair:" -msgstr "Gere e adicione um par de chaves:" - -msgid "Grant proper access to the cinder database:" -msgstr "" -"Conceda os acessos adequados à base de dados cinder:" - -msgid "Grant proper access to the glance database:" -msgstr "" -"Conceda acessos apropriados à base de dados do glance:" - -msgid "Grant proper access to the heat database:" -msgstr "" -"Conceda as pemissões apropriadas à base de dados do heat:" - -msgid "Grant proper access to the keystone database:" -msgstr "" -"Conceda os acessos adequados para a base de dados do keystone:" - -msgid "Grant proper access to the neutron database:" -msgstr "" -"Conceda os acessos apropriados à base de dados neutron:" - -msgid "Grant proper access to the nova database:" -msgstr "Conceda acesso apropriado à base de dados do nova:" - -msgid "Grant proper access to the sahara database:" -msgstr "Conceda acesso adequado à base de dados do sahara:" - -msgid "HASH_PATH_PREFIX" -msgstr "HASH_PATH_PREFIX" - -msgid "HASH_PATH_SUFFIX" -msgstr "HASH_PATH_SUFFIX" - -msgid "HEAT_DBPASS" -msgstr "HEAT_DBPASS" - -msgid "HEAT_PASS" -msgstr "HEAT_PASS" - -msgid "Horizon enables you to customize the brand of the dashboard." -msgstr "O Horizon permite que você personalize a marca do painel." - -msgid "" -"Horizon provides a set of core classes and reusable templates and tools." -msgstr "" -"O Horizon provê um conjunto de classes básicas, modelos reutilizáveis e " -"ferramentas." - -msgid "" -"However, VMs will reduce performance of your instances, particularly if your " -"hypervisor and/or processor lacks support for hardware acceleration of " -"nested VMs." -msgstr "" -"Contudo, as VMs irão reduzir o desempenho de suas instâncias, " -"particularmente se seu hypervisor e/ou seu processador não possui suporte " -"para aceleração por hardware de VMs aninhadas." - -msgid "ID" -msgstr "ID" - -msgid "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" -msgstr "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" - -msgid "INTERFACE_NAME" -msgstr "INTERFACE_NAME" - -msgid "IP address: 10.0.0.11" -msgstr "Endereço IP: 10.0.0.11" - -msgid "IP address: 10.0.0.21" -msgstr "Endereço IP: 10.0.0.21" - -msgid "IP address: 10.0.0.31" -msgstr "Endereço IP: 10.0.0.31" - -msgid "IP address: 10.0.0.41" -msgstr "Endereço IP: 10.0.0.41" - -msgid "IP address: 10.0.0.51" -msgstr "Endereço IP: 10.0.0.51" - -msgid "IP address: 10.0.0.52" -msgstr "Endereço IP: 10.0.0.52" - -msgid "IP address: 10.0.1.21" -msgstr "Endereço IP: 10.0.1..21" - -msgid "IP address: 10.0.1.31" -msgstr "Endereço IP: 10.0.1.31" - -msgid "" -"Ideally, you can prevent these problems by enabling jumbo frames on the physical network that " -"contains your tenant virtual networks. Jumbo frames support MTUs up to " -"approximately 9000 bytes which negates the impact of GRE overhead on virtual " -"networks. However, many network devices lack support for jumbo frames and " -"OpenStack administrators often lack control over network infrastructure. " -"Given the latter complications, you can also prevent MTU problems by " -"reducing the instance MTU to account for GRE overhead. Determining the " -"proper MTU value often takes experimentation, but 1454 bytes works in most " -"environments. You can configure the DHCP server that assigns IP addresses to " -"your instances to also adjust the MTU." -msgstr "" -"Idealmente, você pode evitar estes problemas habilitando os jumbo frames na rede física que contém " -"suas redes de tenants virtuais. Os Jumbo frames suportam MTUs de até " -"aproximadamente 9000 bytes, que anula o impacto da sobrecarga do GRE nas " -"redes virtuais. Contudo, muitos dispositivos de rede não possuem suporte " -"para Jumbo frames e os administradores de OpenStack frequentemente perdem o " -"controle sobre a infraestrutura de rede. Dadas as últimas complicações, você " -"pode também evitar problemas de MTU reduzindo o MTU da instância para " -"acomodar a sobrecarga do GRE. Determinar o valor adequado de MTU geralmente " -"exige experimentação, mas 1454 bytes funciona na maioria dos ambientes." - -msgid "" -"If the status does not indicate available, check the logs " -"in the /var/log/cinder directory on the controller and " -"volume nodes for more information." -msgstr "" -"Se o status não indicar disponível, cheque os logs no " -"diretório /var/log/cinder nos nodos controlador e de " -"volume para mais informações." - -msgid "" -"If the upgrade process includes a new kernel, reboot your system to activate " -"it." -msgstr "" -"Se o processo de atualização inclui um novo kernel, reinicialize seu sistema " -"para ativá-lo." - -msgid "" -"If the web browser to access remote consoles resides on a host that cannot " -"resolve the controller hostname, you must replace " -"controller with the management interface IP " -"address of the controller node." -msgstr "" -"Se o navegador web para acessar consoles remotos está em um host que não " -"pode resolver o hostname do controlador, você " -"deve substituir o controlador pelo endereço IP da " -"interface de gerenciamento do nodo controlador." - -msgid "" -"If this command returns a value of one or greater, your " -"compute node supports hardware acceleration which typically requires no " -"additional configuration." -msgstr "" -"Se este comando retorna um valor de um ou maior, seu " -"nodo de Computação suporta aceleração de hardware a qual, tipicamente não " -"requer configuração adicional." - -msgid "" -"If this command returns a value of zero, your compute " -"node does not support hardware acceleration and you must configure " -"libvirt to use QEMU instead of KVM." -msgstr "" -"Se este comando retorna um valor de zero, seu nodo de " -"Computação não suporta aceleração de hardware e você deve configurar " -"libvirt para utilizar QEMU em vez de KVM." - -msgid "" -"If you are building your OpenStack nodes as virtual machines, you must " -"configure the hypervisor to permit promiscuous mode on the external network." -msgstr "" -"Se você está construindo seus nodos OpenStack como máquinas virtuais, você " -"deve configurar o hypervisor para permitir o modo promíscuo na rede externa." - -msgid "" -"If you are familiar with these packages and pre-seeding, you can proceed to " -"." -msgstr "" -"Se você estiver familiarizado com estes pacotes e pré-configurações, pode " -"avançar para ." - -msgid "" -"If you change the journaling configuration, stop the MongoDB service, remove " -"the initial journal files, and start the service:" -msgstr "" -"Se você alterar a configuração de journaling, pare o serviço MongoDB, remova " -"os arquivos iniciais de journal e inicie o serviço:" - -msgid "" -"If you choose to install on VMs, make sure your hypervisor permits " -"promiscuous mode and disables MAC address filtering " -"on the external network." -msgstr "" -"Se você escolher instalar em VMs, certifique-se que seu hypervisor permita " -"modo promíscuo e desabilite a filtragem de endereços " -"MAC na rede externa." - -msgid "" -"If you configure a package with debconf incorrectly, you can re-configure it, as follows:" -msgstr "" -"Se você configurar um pacote com debconf incorretamente, você pode reconfigurá-lo, como segue:" - -msgid "" -"If you decide to not use , then you will have to create the " -"database and manage its access rights yourself, and run the following by " -"hand." -msgstr "" -"Se você não decidir usar , então você terá que criar o banco " -"de dados e gerenciar seus direitos de acesso a si mesmo, e executar na mão " -"os comandos seguintes." - -msgid "" -"If you use the Data processing service with a MySQL or MariaDB database, you " -"must configure the maximum number of allowed packets for storing big job " -"binaries in the service internal database." -msgstr "" -"Se você utiliza o serviço de Processamento de Dados com os bancos de dados " -"MySQL ou MariaDB, você deve configurar o número máximo de pacotes permitidos " -"para armazenar grandes binários de trabalho no banco de dados interno de " -"serviços." - -msgid "If you want to do backup and restore, you also need Object Storage." -msgstr "" -"Se você quiser fazer backup e restauração, você também precisará do Object " -"Storage." - -msgid "" -"If you want to provision datastores on block-storage volumes, you also need " -"Block Storage." -msgstr "" -"Se você quiser provisionar datastores nos volumes de block-storage, você " -"também precisará do Block Storage." - -msgid "" -"If your environment includes the Block Storage service, you can attach a " -"volume to the instance." -msgstr "" -"Se seu ambiente inclui o serviço Block Storage, você pode conectar um volume " -"à instância." - -msgid "" -"If your host does not contain the public/private key pair created in an " -"earlier step, SSH prompts for the default password associated with the " -"cirros user." -msgstr "" -"Se seu host não contém o par de chave pública/privada criado no passo " -"anterior, o SSH irá solicitar a senha padrão associada com o usuário " -"cirros." - -msgid "" -"If your storage nodes use LVM on the operating system disk, you must also " -"add the associated device to the filter. For example, if the /dev/" -"sda device contains the operating system:" -msgstr "" -"Se seus nodos de storage utilizam LVM no disco do sistema operacional, você " -"deve também adicionar o dispositivo associado ao filtro. Por exemplo, se o " -"dispositivo /dev/sda contém o sistema operacional:" - -msgid "" -"If your system uses a different device name, adjust these steps accordingly." -msgstr "" -"Se seu sistema utiliza um nome de dispositivo diferente, ajuste esses passos " -"de acordo." - -msgid "" -"If your web browser runs on a host that cannot resolve the " -"controller host name, you can replace " -"controller with the IP address of the management " -"interface on your controller node." -msgstr "" -"Se seu navegador web roda em um host que não pode resolver o nome de host do " -"controlador , você pode substituir o " -"controlador com o endereço IP da interface de " -"gerenciamento no seu nodo controlador." - -msgid "Implement the changes:" -msgstr "Implemente as alterações:" - -msgid "" -"In debconf, the higher the " -"priority for a screen, the greater the chance that the user sees that " -"screen. If a debconf screen has " -"medium priority and you configure the Debian system to " -"show only critical prompts, which is the default in " -"Debian, the user does not see that debconf screen. Instead, the default for the related package is used. In " -"the Debian OpenStack packages, a number of debconf screens are set with medium " -"priority. Consequently, if you want to respond to all debconf screens from the Debian OpenStack packages, " -"you must run the following command and select the medium " -"priority before you install any packages:" -msgstr "" -"No debconf, quanto mais alta a " -"prioridade para uma tela, maior a chance de o usuário ver aquela tela. Se " -"uma tela debconf tem prioridade " -"medium e você configura o sistema Debian para mostrar " -"somente solicitações critical, que é um padrão no Debian, " -"o usuário não vê a tela debconf. " -"Em vez disso, o padrão relativo ao pacote é usado. Nos pacotes de OpenStack " -"do Debian, uma série de telas do debconf são definidas com prioridade medium. " -"Consequentemente, se você quiser responder a todas as telas do debconf dos pacotes OpenStack do Debian, você " -"deve executar o seguinte comando e selecionar a prioridade medium antes de instalar qualquer pacote." - -msgid "" -"In Debian, the Keystone package offers automatic registration of Keystone in " -"the service catalogue. This is equivalent of running the below commands:" -msgstr "" -"No Debian, o pacote Keystone oferece registro automático de Keystone no " -"catálogo de serviços. Isso é equivalente a executar os comandos abaixo:" - -msgid "" -"In addition to external networks, any Networking set up has one or more " -"internal networks. These software-defined networks connect directly to the " -"VMs. Only the VMs on any given internal network, or those on subnets " -"connected through interfaces to a similar router, can access VMs connected " -"to that network directly." -msgstr "" -"Adicionalmente às redes externas, qualquer configuração de Rede tem uma ou " -"mais redes internas. Essas redes definidas por software conectam diretamente " -"às VMs. Somente as VMs em qualquer rede interna dada, ou aquelas em sub-" -"redes conectadas através de interfaces para um roteador similar, podem " -"acessar VMs conectadas à essa rede diretamente." - -msgid "" -"In the [DEFAULT] and [keystone_authtoken] sections, configure Identity service access:" -msgstr "" -"Nas seções [DEFAULT] e [keystone_authtoken], configure o acesso do Serviço de Identidade:" - -msgid "" -"In the [DEFAULT] section, configure access parameters:" -msgstr "" -"Na seção [DEFAULT], configure os parâmetros de acesso:" - -msgid "" -"In the [DEFAULT] section, configure notifications and " -"RabbitMQ message broker access:" -msgstr "" -"Na seção [DEFAULT], configure as notificações e o acesso " -"ao agente de mensagens RabbitMQ:" - -msgid "" -"In the [DEFAULT] section, configure the APIs and drivers:" -msgstr "" -"Na seção [DEFAULT], configure as APIs e os drivers:" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option to use the management interface IP address of the controller " -"node:" -msgstr "" -"Na seção [DEFAULT], configure a opção my_ip para utilizar o endereço IP da interface de gerenciamento do nodo " -"controlador:" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option:" -msgstr "" -"Na seção [DEFAULT], configure a opção my_ip:" - -msgid "" -"In the [DEFAULT] section, configure the noop notification driver to disable notifications because they only " -"pertain to the optional Telemetry service:" -msgstr "" -"Na seção [DEFAULT], configure o driver de notificação " -"noop para desabilitar notificações porque elas só dizem " -"respeito ao serviço de telemetria opcional:" - -msgid "" -"In the [DEFAULT] section, configure the VNC proxy to use " -"the management interface IP address of the controller node:" -msgstr "" -"Na seção [DEFAULT], configure o proxy VNC para utilizar o " -"endereço IP da interface de gerenciamento do nodo controlador:" - -msgid "" -"In the [DEFAULT] section, configure the bind IP address, " -"bind port, user, configuration directory, and mount point directory:" -msgstr "" -"Na seção [DEFAULT], configure o endereço IP de " -"vinculação, a porta de vinculação, usuário, diretório de configuração, e " -"diretório de ponto de montagem:" - -msgid "" -"In the [DEFAULT] section, configure the bind port, user, " -"and configuration directory:" -msgstr "" -"Na seção [DEFAULT], configure a porta de vinculação, " -"usuário, e o diretório de configuração:" - -msgid "" -"In the [DEFAULT] section, configure the metadata and wait " -"condition URLs:" -msgstr "" -"Na seção [DEFAULT], configure o metadado e as URLs de " -"condição de espera:" - -msgid "" -"In the [DEFAULT] section, configure the metadata host:" -msgstr "Na seção [DEFAULT], configure o host de metadados:" - -msgid "" -"In the [DEFAULT] section, configure the metadata proxy " -"shared secret:" -msgstr "" -"Na seção [DEFAULT], configure o shared secret do proxy de " -"metadados:" - -msgid "" -"In the [DEFAULT] section, configure the network and " -"security group APIs:" -msgstr "" -"Na seção [DEFAULT], configure as APIs de rede e de grupo " -"de segurança:" - -msgid "" -"In the [DEFAULT] section, configure the network " -"parameters:" -msgstr "" -"Na seção [DEFAULT], configure os parâmetros de rede:" - -msgid "" -"In the [DEFAULT] section, define the value of the initial " -"administration token:" -msgstr "" -"Na seção [DEFAULT], defina o valor do token de " -"administração inicial:" - -msgid "" -"In the [DEFAULT] section, enable and configure remote " -"console access:" -msgstr "" -"Na seção [DEFAULT], habilite e configure o acesso de " -"console remoto:" - -msgid "" -"In the [DEFAULT] section, enable the dnsmasq configuration file:" -msgstr "" -"Na seção [DEFAULT], habilite o arquivo de configuração " -"dnsmasq:" - -msgid "" -"In the [DEFAULT] section, enable the Modular Layer 2 " -"(ML2) plug-in, router service, and overlapping IP addresses:" -msgstr "" -"Na seção [DEFAULT], habilite o plug-in Modular Layer 2 " -"(ML2), o serviço de roteamento, e os endereços IP que se sobrepõem:" - -msgid "In the [agent] section, enable GRE tunnels:" -msgstr "Na seção [agent], habilite os túneis GRE:" - -msgid "" -"In the [collector] section, configure the dispatcher:" -msgstr "Na seção [collector], configure o disparador:" - -msgid "" -"In the [database] section, comment out any " -"connection options because compute nodes do not directly " -"access the database." -msgstr "" -"Na seção [database], comente quaisquer opções " -"connection porque os nodos de Computação não acessam a " -"base de dados diretamente." - -msgid "" -"In the [database] section, comment out any " -"connection options because network nodes do not directly " -"access the database." -msgstr "" -"Na seção [database], comente quaisquer opções " -"connection porque os nodos de rede não acessam a base de " -"dados diretamente." - -msgid "" -"In the [database] section, configure database access:" -msgstr "" -"Na seção [database], configure o acesso ao banco de dados:" - -msgid "" -"In the [ec2authtoken] section, configure Identity service " -"access:" -msgstr "" -"Na seção [ec2authtoken], configure o acesso ao Serviço " -"de Identidade:" - -msgid "" -"In the [filter:authtoken] section, configure Identity " -"service access:" -msgstr "" -"Na seção [filter:authtoken], configure o acesso ao " -"Serviço de Identidade:" - -msgid "" -"In the [filter:cache] section, configure the " -"memcached location:" -msgstr "" -"Na seção [filter:cache], configure a localização do " -"memcached:" - -msgid "" -"In the [filter:ceilometer] section, configure " -"notifications:" -msgstr "" -"Na seção [filter:ceilometer], configure notificações:" - -msgid "" -"In the [filter:keystoneauth] section, add the " -"ResellerAdmin role:" -msgstr "" -"Na seção [filter:keystoneauth], adicione o papel " -"ResellerAdmin:" - -msgid "" -"In the [filter:keystoneauth] section, configure the " -"operator roles:" -msgstr "" -"Na seção [filter:keystoneauth], configure os papéis de " -"operador:" - -msgid "" -"In the [glance_store] section, configure the local file " -"system store and location of image files:" -msgstr "" -"Na seção [glance_store], configure o sistema de arquivo " -"local de armazenamento e localização dos arquivos de Imagem:" - -msgid "" -"In the [keystone_authtoken] and [ec2authtoken] sections, configure Identity service access:" -msgstr "" -"Nas seções [keystone_authtoken] e " -"[ec2authtoken], configure o acesso ao serviço de " -"Identidade:" - -msgid "" -"In the [keystone_authtoken] and [paste_deploy] sections, configure Identity service access:" -msgstr "" -"Nas seções [keystone_authtoken] e " -"[paste_deploy], configure o acesso ao serviço de " -"Identidade:" - -msgid "" -"In the [keystone_authtoken] section, configure Identity " -"service access:" -msgstr "" -"Na seção [keystone_authtoken] , configure o acesso ao " -"serviço de Identidade:" - -msgid "" -"In the [memcache] section, configure the Memcache service:" -msgstr "Na seção [memcache], configure o serviço Memcache:" - -msgid "" -"In the [ml2_type_flat] section, configure the external " -"flat provider network:" -msgstr "" -"Na seção [ml2_type_flat], configure o provedor externo de " -"rede fixa:" - -msgid "" -"In the [ml2_type_gre] section, configure the tunnel " -"identifier (id) range:" -msgstr "" -"Na seção [ml2_type_gre], configure o identificador (id) " -"da faixa do túnel:" - -msgid "" -"In the [mysqld] section, set the bind-address key to the management IP address of the controller node to enable " -"access by other nodes via the management network:" -msgstr "" -"Na seção [mysqld], defina a chave bind-address para o IP de gerenciamento do nodo controlador para habilitar o " -"acesso pelos outros nodos via rede de gerenciamento:" - -msgid "" -"In the [mysqld] section, set the following keys to enable " -"useful options and the UTF-8 character set:" -msgstr "" -"Na seção [mysqld], defina as seguintes chaves para " -"habilitar opções úteis e o conjunto de caracteres UTH-8:" - -msgid "" -"In the [neutron] section, configure access parameters:" -msgstr "" -"Na seção [neutron], configure os parâmetros de acesso:" - -msgid "" -"In the [neutron] section, enable the metadata proxy and " -"configure the secret:" -msgstr "" -"Na seção [neutron], habilite o proxy de metadados e " -"configure o secret:" - -msgid "" -"In the [ovs] section, enable tunnels and configure the " -"local tunnel endpoint:" -msgstr "" -"Na seção [ovs], habilite os túneis e configure o endpoint " -"do túnel local: " - -msgid "" -"In the [ovs] section, enable tunnels, configure the local " -"tunnel endpoint, and map the external flat provider network to the " -"br-ex external network bridge:" -msgstr "" -"Na seção [ovs], habilite os túneis, configure o endpoint " -"do túnel local, e mapeie o provedor externo de rede fixa para a bridge de " -"rede externa br-ex:" - -msgid "" -"In the [pipeline:main] section, enable the appropriate " -"modules:" -msgstr "" -"Na seção [pipeline:main], habilite os módulos apropriados:" - -msgid "" -"In the [revoke] section, configure the SQL revocation " -"driver:" -msgstr "" -"Na seção [revoke], configure o controlador de revogação " -"SQL:" - -msgid "" -"In the [securitygroup] section, enable security groups, " -"enable ipset, and configure the OVS " -"iptables firewall driver:" -msgstr "" -"Na seção [securitygroup], habilite os grupos de " -"segurança, habilite ipset, e configure o driver de " -"firewall iptables do OVS:" - -msgid "" -"In the [service_credentials] section, configure service " -"credentials:" -msgstr "" -"Na seção [service_credentials], configure as credenciais " -"de serviço:" - -msgid "" -"In the [storage-policy:0] section, configure the default " -"storage policy:" -msgstr "" -"Na seção [storage-policy:0], configure a política padrão " -"de armazenamento:" - -msgid "" -"In the [swift-hash] section, configure the hash path " -"prefix and suffix for your environment." -msgstr "" -"Na seção [swift-hash], configure o caminho do prefixo e " -"sufixo do hash para seu ambiente." - -msgid "" -"In the devices section, add a filter that accepts the " -"/dev/sdb device and rejects all other devices:" -msgstr "" -"Na seção devices, adicione um filtro que aceite o " -"dispositivo /dev/sdb e rejeite todos os outros " -"dispositivos:" - -msgid "Initial networks" -msgstr "Redes iniciais" - -msgid "Initialize the database:" -msgstr "Inicialize o banco de dados:" - -msgid "Install and configure" -msgstr "Instalação e configuração" - -msgid "" -"Install and configure NTP using the instructions in ." -msgstr "" -"Instale e configure o NTP utilizando as instruções em ." - -msgid "Install and configure Block Storage volume components" -msgstr "Instalar e configurar os componentes de volume do Block Storage" - -msgid "Install and configure Orchestration" -msgstr "Instale e configure a Orquestração" - -msgid "Install and configure a compute node" -msgstr "Instale e configure um nodo de Computação" - -msgid "Install and configure a storage node" -msgstr "Instalar e configurar um nodo de storage" - -msgid "Install and configure compute node" -msgstr "Instalar e configurar o nodo de Computação" - -msgid "Install and configure controller node" -msgstr "Instalar e configurar o nodo controlador" - -msgid "Install and configure network node" -msgstr "Instalar e configurar o nodo de rede" - -msgid "Install and configure storage node components" -msgstr "Instalar e configurar componentes do nodo de armazenamento" - -msgid "Install and configure the controller node" -msgstr "Instalar e configurar o nodo controlador" - -msgid "Install and configure the storage nodes" -msgstr "Instalar e configurar os nodos de armazenamento" - -msgid "Install required packages:" -msgstr "Instale os pacotes requeridos:" - -msgid "" -"Install the rdo-release-kilo package to enable the RDO " -"repository:" -msgstr "" -"Instale o rdo-release-kilo pacote para habilitar o " -"repositório RDO:" - -msgid "Install the Data processing service" -msgstr "Instale o serviço de processamento de Dados." - -msgid "Install the Database service" -msgstr "Instalar o serviço de Banco de Dados" - -msgid "Install the Debian Wheezy OpenStack repository for Juno:" -msgstr "Instale o repositório OpenStack Debian Wheezy para Juno:" - -msgid "Install the LVM packages:" -msgstr "Instalar os pacotes LVM:" - -msgid "Install the MongoDB package:" -msgstr "Instale o pacote MongoDB:" - -msgid "Install the Ubuntu Cloud archive keyring and repository:" -msgstr "Instale o repositório e o arquivos de chaves do Ubuntu:" - -msgid "Install the package:" -msgstr "Instalar o pacote:" - -msgid "Install the packages:" -msgstr "Instale os pacotes:" - -msgid "Install the required packages:" -msgstr "Instale os pacotes requeridos:" - -msgid "Install the supporting utility packages:" -msgstr "Instalar os pacotes de utilitários de suporte:" - -msgid "Instance tunnels on 10.0.1.0/24 without a gateway" -msgstr "Túneis de instância na 10.0.1.0/24 sem um gateway" - -msgid "KEYSTONE_DBPASS" -msgstr "KEYSTONE_DBPASS" - -msgid "Keep these values secret and do not change or lose them." -msgstr "Mantenha estes valores em segurança e não os altere ou os perca." - -msgid "" -"Kill any existing dnsmasq " -"processes:" -msgstr "" -"Mate qualquer processo dnsmasq " -"existente:" - -msgid "" -"Later on, the package will configure the below directive with the value you " -"entered:" -msgstr "" -"Mais tarde, o pacote irá configurar a diretiva abaixo com o valor inserido:" - -msgid "Launch an instance" -msgstr "Lançando uma instância" - -msgid "Launch an instance with OpenStack Networking (neutron)" -msgstr "Lance uma instância com a Rede OpenStack (neutron)" - -msgid "Launch an instance with legacy networking (nova-network)" -msgstr "Lance uma instância com rede legada (nova-network)" - -msgid "Launch the instance:" -msgstr "Lançar uma instância:" - -msgid "" -"Launching a virtual machine or instance involves many interactions among " -"several services. The following diagram provides the conceptual architecture " -"of a typical OpenStack environment." -msgstr "" -"O lançamento de uma máquina virtual ou instância envolve muitas interações " -"entre diversos serviços. O diagrama seguinte fornece a arquitetura " -"conceitual de um ambiente OpenStack típico." - -msgid "Legacy networking (nova-network)" -msgstr "Rede legada (nova-network)" - -msgid "" -"Legacy networking primarily involves compute nodes. However, you must " -"configure the controller node to use legacy networking." -msgstr "" -"A rede legada envolve primeiramente nodos de Computação. Contudo, você deve " -"configurar o nodo controlador para utilizar a rede legada." - -msgid "" -"Like a physical network, a virtual network requires a subnet assigned to it. The external network shares the same subnet and " -"gateway associated with the physical network " -"connected to the external interface on the network node. You should specify " -"an exclusive slice of this subnet for router and " -"floating IP addresses to prevent interference with other devices on the " -"external network." -msgstr "" -"Assim como uma rede física, uma rede virtual requer uma subrede atribuída a ela. A rede externa compartilha a mesma subrede e " -"gateway associados com a rede física conectada à " -"interface externa no nodo de rede. Você deve especificar uma faixa exclusiva " -"desta subrede para o roteador e endereços IP " -"flutuantes para evitar interferência com outros dispositivos na rede externa." - -msgid "List agents to verify successful launch of the neutron agents:" -msgstr "" -"Liste os agentes para verificar a inicialização com sucesso dos agentes do " -"neutron:" - -msgid "List available flavors:" -msgstr "Listar sabores disponíveis:" - -msgid "List available images:" -msgstr "Listar imagens disponíveis:" - -msgid "" -"List available meters again to validate detection of the image download:" -msgstr "" -"Lista medidores novamente de modo a validar a detecção do download da imagem." - -msgid "List available meters:" -msgstr "Lista de medidas disponíveis:" - -msgid "List available networks:" -msgstr "Listar redes disponíveis:" - -msgid "List available security groups:" -msgstr "Listar grupos de segurança disponíveis:" - -msgid "List containers:" -msgstr "Listar contêineres:" - -msgid "" -"List loaded extensions to verify successful launch of the neutron-" -"server process:" -msgstr "" -"Liste as extensões carregadas para verificar a inicialização com sucesso, do " -"processo do neutron-server:" - -msgid "" -"List service components to verify successful launch and registration of each " -"process:" -msgstr "" -"Liste os componentes do serviço para verificar se a iniciação foi bem " -"sucedida e o registro de cada processo:" - -msgid "List service components to verify successful launch of each process:" -msgstr "" -"Liste os componentes de serviço para verificar o lançamento com sucesso de " -"cada processo:" - -msgid "List volumes:" -msgstr "Listar volumes:" - -msgid "MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "METADATA_SECRET" -msgstr "METADATA_SECRET" - -msgid "MYSQL_PASSWORD" -msgstr "MYSQL_PASSWORD" - -msgid "Management on 10.0.0.0/24 with gateway 10.0.0.1" -msgstr "Gerenciamento na 10.0.0.0/24 com gateway 10.0.0.1" - -msgid "Manually install python-argparse" -msgstr "Instalação manual do python-argparse" - -msgid "" -"Many of the OpenStack services need to be configured to access a database. " -"These are configured through a DSN (Database Source Name) directive as " -"follows:" -msgstr "" -"Muitos dos serviços do OpenStack precisam ser configurados para acessar um " -"abnco de dados. Eles são configurados através de diretivas DSN (Database " -"Source Name) como a seguir:" - -msgid "" -"Many users build their test environments on virtual machines (VMs). The primary benefits of " -"VMs include the following:" -msgstr "" -"Muitos usuários constroem seus ambientes de testes em máquinas virtuais (VMs). O principal " -"benefício das VMs incluem os seguintes:" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Hardware " -"requirements" -msgstr "" -"Requisitos de Hardware para arquitetura mínima de exemplo com OpenStack " -"Networking (neutron)" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Network " -"layout" -msgstr "" -"Exemplo de arquitetura mínima com o layout de Rede do OpenStack (neutron)" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Service " -"layout" -msgstr "" -"Layout de serviço para arquitetura mínima de exemplo com OpenStack " -"Networking (neutron)" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Hardware " -"requirements" -msgstr "" -"Requerimentos de hardware para exemplo de arquitetura mínima com rede legada " -"(nova-network)" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Network " -"layout" -msgstr "" -"Layout de Rede de exemplo de arquitetura mínima com rede legada (nova-" -"network)" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Service " -"layout" -msgstr "" -"Layout de serviço para exemplo de arquitetura mínima com rede legada (nova-" -"network)" - -msgid "" -"Most cloud images support public key authentication " -"rather than conventional user name/password authentication. Before launching " -"an instance, you must generate a public/private key pair using " -" and add the public key to your OpenStack environment." -msgstr "" -"A maioria da imagens de nuvem suportam autenticação de chave " -"pública em vez de autenticação por usuário/senha. Antes de " -"lançar uma instância, você deve gerar um par de chaves pública/privada " -"utilizando e adicionar a chave pública no seu ambiente " -"OpenStack." - -msgid "Mount the devices:" -msgstr "Montar os dispositivos:" - -msgid "NETWORK_CIDR" -msgstr "NETWORK_CIDR" - -msgid "NEUTRON_DBPASS" -msgstr "NEUTRON_DBPASS" - -msgid "NEUTRON_PASS" -msgstr "NEUTRON_PASS" - -msgid "NOVA_DBPASS" -msgstr "NOVA_DBPASS" - -msgid "NOVA_PASS" -msgstr "NOVA_PASS" - -msgid "NTP_SERVER" -msgstr "NTP_SERVER" - -msgid "Name" -msgstr "Nome" - -msgid "Network Node: 1 processor, 512 MB memory, and 5 GB storage" -msgstr "Nodo de Rede: 1 processador, 512 MB de memória, e 5GB de armazenamento" - -msgid "Network Time Protocol (NTP)" -msgstr "Network Time Protocol (NTP)" - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest number " -"and the second interface as the interface with the highest number." -msgstr "" -"Os nomes das interfaces de rede variam com a distribuição. Tradicionalmente, " -"as interfaces utilizam \"eth\" seguido por um número sequencial. Para cobrir " -"todas as variações, este guia simplesmente refere-se à primeira interface " -"como a interface com o menor número e à segunda interface como a interface " -"com o maior número." - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest " -"number, the second interface as the interface with the middle number, and " -"the third interface as the interface with the highest number." -msgstr "" -"Os nomes das interfaces de rede variam por distribuição. Tradicionalmente, a " -"interfaces utilizam \"eth\" seguido de um número sequencial. Para cobrir " -"todas as variações, este guia simplesmente refere-se à primeira interface " -"como a interface com o menor número, à segunda interface como a interface de " -"número médio, e à terceira interface como a interface de número maior." - -msgid "Network mask: 255.255.255.0 (or /24)" -msgstr "Máscara de rede: 255.255.255.0 (ou /24)" - -msgid "Network node" -msgstr "Nodo de rede" - -msgid "Networking" -msgstr "Rede" - -msgid "" -"Networking also supports security groups. Security groups enable administrators to define firewall rules in " -"groups. A VM can belong to one or more security groups, and Networking " -"applies the rules in those security groups to block or unblock ports, port " -"ranges, or traffic types for that VM." -msgstr "" -"Networking também suporta grupos de segurança. Grupos de segurança habilitam os administradores definir regras " -"de firewall em grupos. Uma VM pode pertencer a um ou mais grupos de " -"segurança, e o Networking aplica as regras nesses grupos de segurança para " -"bloquear e desbloquear portas, intervalos de portas, ou tipos de tráfego " -"para essa VM." - -msgid "Networking concepts" -msgstr "Conceitos de rede" - -msgid "" -"Networking provides the networks, subnets, and routers object abstractions. " -"Each abstraction has functionality that mimics its physical counterpart: " -"networks contain subnets, and routers route traffic between different subnet " -"and networks." -msgstr "" -"Networking fornece as abstrações de objetos de redes, sub-redes, e " -"roteadores. Cada abstração possui funcionalidades que imitam o objeto físico " -"equivalente: redes contém sub-redes, e roteadores roteiam o tráfego entre " -"diferentes sub-redes e redes." - -msgid "" -"Next specify admin_user, admin_password and admin_tenant_name. These parameters must " -"specify a keystone user which has the admin role in the " -"given tenant. These credentials allow sahara to authenticate and authorize " -"its users." -msgstr "" -"A seguir, especifique admin_user, " -"admin_password e admin_tenant_name. " -"Esses parâmetros devem especificar um usuário de keystone que tem o papel de " -"admin no tenant fornecido. Essas credenciais permitem o " -"sahara autenticar e autorizar seus usuários." - -msgid "Next steps" -msgstr "Próximos passos" - -msgid "Object ring" -msgstr "Anel Objeto" - -msgid "" -"Obtain a Virtual Network Computing (VNC) session URL " -"for your instance and access it from a web browser:" -msgstr "" -"Obtenha uma URL de sessão Virtual Network Computing (VNC) para sua instância e acesse-a a partir de um navegador web:" - -msgid "" -"Obtain the /etc/swift/swift.conf file from the Object " -"Storage source repository:" -msgstr "" -"Obtenha o arquivo /etc/swift/swift.conf do repositório " -"fonte do Object Storage:" - -msgid "" -"Obtain the proxy service configuration file from the Object Storage source " -"repository:" -msgstr "" -"Obtenha o arquivo de configuração do serviço de proxy a partir do " -"repositório fonte do Object Storage:" - -msgid "" -"On RHEL and CentOS, configure SELinux to permit the web server to connect to " -"OpenStack services:" -msgstr "" -"No RHEL e CentOS, configure o SELinux para permitir o servidor web conectar " -"aos serviços OpenStack:" - -msgid "On RHEL, enable additional repositories using the subscription manager:" -msgstr "" -"No RHEL, habilite repositórios adicionais usando o gerenciador de subscrição:" - -msgid "On SLES 12:" -msgstr "No SLES 12:" - -msgid "On SLES:" -msgstr "No SLES:" - -msgid "On all nodes, ensure proper ownership of the configuration directory:" -msgstr "" -"Em todos os nodos, assegure a propriedade adequada do diretório de " -"configuração:" - -msgid "On all nodes, install the Debian Wheezy backport repository Juno:" -msgstr "" -"Em todos os nodos, instale o repositório Juno portado para Debian Wheezy:" - -msgid "On openSUSE 13.2:" -msgstr "No openSUSE 13.2:" - -msgid "On openSUSE:" -msgstr "No OpenSUSE:" - -msgid "" -"On the controller node, edit the /etc/nova/" -"nova.conf file and complete the following action:" -msgstr "" -"No nodo controlador, edite o arquivo /etc/" -"nova/nova.conf e complete as seguintes ações:" - -msgid "" -"On the controller node, restart the Compute " -"API service:" -msgstr "" -"No nodo controlador, reinicie o serviço de " -"API de Computação" - -msgid "" -"On the controller node and any other nodes running the proxy service, " -"restart the Object Storage proxy service including its dependencies:" -msgstr "" -"No nodo controlador e em quaisquer outros nodos executando o serviço de " -"proxy, reinicie o serviço de proxy do Object Storage, incluindo suas " -"dependências:" - -msgid "" -"On the controller node and any other nodes running the proxy service, start " -"the Object Storage proxy service including its dependencies and configure " -"them to start when the system boots:" -msgstr "" -"No nodo controlador e em quaisquer outros nodos executando o serviço de " -"proxy, inicie o serviço de proxy do Object Storage, incluindo suas " -"dependências e configure-o para iniciar quando o sistema inicializar:" - -msgid "" -"On the storage nodes, start the Object Storage services and configure them " -"to start when the system boots:" -msgstr "" -"Nos nodos de armazenamento, inicie os serviços de Object Storage e configure-" -"os para iniciar quando o sistema inicializar:" - -msgid "On the storage nodes, start the Object Storage services:" -msgstr "Nos nodos de armazenamento, inicie os serviços de Object Storage:" - -msgid "" -"One physical server can support multiple nodes, each with almost any number " -"of network interfaces." -msgstr "" -"Um servidor físico pode suportar múltiplos nodes, cada um com quase qualquer " -"número de interfaces de rede." - -msgid "OpenStack" -msgstr "OpenStack" - -msgid "OpenStack Foundation" -msgstr "OpenStack Foundation" - -msgid "OpenStack Installation Guide" -msgstr "Guia de Instalação do OpenStack" - -msgid "" -"OpenStack Installation Guide for " -msgstr "" -"Guia de Instalação do OpenStack para " - -msgid "OpenStack Networking (neutron)" -msgstr "Rede OpenStack (neutron)" - -msgid "" -"OpenStack Networking (neutron) manages all networking facets for the Virtual " -"Networking Infrastructure (VNI) and the access layer aspects of the Physical " -"Networking Infrastructure (PNI) in your OpenStack environment. OpenStack " -"Networking enables tenants to create advanced virtual network topologies " -"including services such as firewalls, load balancers, and virtual private networks (VPNs)." -msgstr "" -"O OpenStack Networking (neutron) gerencia todas as facetas de rede para a " -"Infraestrutura Virtual de Rede (VNI) e os aspectos da camada de acesso da " -"Infraestrutura Física de Rede (PNI) no seu ambiente OpenStack. O OpenStack " -"Networking permite os tenants criar topologias avançadas de rede virtual, " -"incluindo serviços como firewalls, load balancers, e virtual " -"private networks (VPNs)." - -msgid "OpenStack ceilometer daemons" -msgstr "Daemons do OpenStack Ceilometer" - -msgid "OpenStack cinder daemons" -msgstr "Daemons do OpenStack Cinder" - -msgid "OpenStack glance daemons" -msgstr "Daemons do OpenStack Glance" - -msgid "OpenStack heat daemons" -msgstr "Daemons do OpenStack Heat" - -msgid "" -"OpenStack is highly configurable to meet different needs with various " -"compute, networking, and storage options. This guide enables you to choose " -"your own OpenStack adventure using a combination of core and optional " -"services. This guide uses the following example architectures:" -msgstr "" -"O OpenStack é altamente configurável para atender a diferentes necessidades " -"com várias opções de computação, rede, e armazenamento. Este guia o habilita " -"a escolher sua própria aventura OpenStack, utilizando uma combinação de " -"serviços principais e opcionais. Este guia utiliza as seguintes arquiteturas " -"de exemplo:" - -msgid "OpenStack keystone daemons" -msgstr "Daemons do OpenStack Keystone" - -msgid "OpenStack neutron daemons" -msgstr "Daemons do OpenStack Neutron" - -msgid "OpenStack nova daemons" -msgstr "Daemons do OpenStack Nova" - -msgid "OpenStack packages" -msgstr "Pacotes OpenStack" - -msgid "" -"OpenStack provides an Infrastructure-as-a-Service (IaaS) solution through a variety of complemental services. Each " -"service offers an application programming interface (API) that facilitates this integration. The following table provides " -"a list of OpenStack services:" -msgstr "" -"O OpenStack fornece uma solução de Infraestrutura como Serviço " -"(IaaS) através de uma variedade de serviços " -"complementares. Cada serviço oferece uma interface de programação de " -"aplicativo (API) que facilita esta integração. A " -"seguinte tabela fornece uma lista de serviços OpenStack:" - -msgid "" -"OpenStack reserves certain user IDs to run specific services and own " -"specific files. These user IDs are set up according to the distribution " -"packages. The following table gives an overview." -msgstr "" -"O OpenStack reserva certos IDs de usuário para executar serviços específicos " -"e deter arquivos específicos. Estes IDs de usuário são configurados de " -"acordo com os pacotes da distribuição. A tabela seguinte dá uma visão geral." - -msgid "" -"OpenStack services support various security methods including password, " -"policy, and encryption. Additionally, supporting services including the " -"database server and message broker support at least password security." -msgstr "" -"Os serviços OpenStack suportam vários métodos de segurança, incluindo senha, " -"políticas e criptografia.\n" -"Adicionalmente, os serviços de suporte, incluindo o servidor de banco de " -"dados e o intermediador de mensagens suportam pelo menos segurança de senha." - -msgid "OpenStack swift daemons" -msgstr "Daemons do OpenStack Swift" - -msgid "OpenStack trove daemons" -msgstr "Daemons do OpenStack Trove" - -msgid "Optionally, configure the time zone:" -msgstr "Opcionalmente, configure o fuso horário:" - -msgid "" -"Optionally, these nodes can contain a second network interface on a separate " -"storage network to improve performance of storage services." -msgstr "" -"Opcionalmente, estes nodos podem conter uma segunda interface de rede em uma " -"rede de armazenamento separada para aumentar o desempenho dos serviços de " -"armazenamento." - -msgid "Other nodes" -msgstr "Outros nodos" - -msgid "Overview" -msgstr "Visão Geral" - -msgid "PACKAGE-NAME" -msgstr "PACKAGE-NAME" - -msgid "PASSWORD" -msgstr "PASSWORD" - -msgid "Perform these commands on the controller node." -msgstr "Execute estes comandos no nodo controlador." - -msgid "Perform these steps on each storage node." -msgstr "Realize estes passos em cada nodo de armazenamento." - -msgid "" -"Perform these steps on the controller and any other nodes that run the " -"Object Storage proxy service." -msgstr "" -"Realize esses passos no controlador e qualquer outro nó que rode o serviço " -"de proxy do Object Storage." - -msgid "Perform these steps on the controller node." -msgstr "Realize estes passos no nodo controlador." - -msgid "Permit ICMP (ping):" -msgstr "Permita ICMP (ping):" - -msgid "Permit secure shell (SSH) access:" -msgstr "Permita acesso ao shell seguro (SSH):" - -msgid "Populate the Block Storage database:" -msgstr "Popule a base de dados do Block Storage:" - -msgid "Populate the Compute database:" -msgstr "Popule a base de dados da Computação:" - -msgid "Populate the Identity service database:" -msgstr "Popule a base de dados do Serviço de Identidade:" - -msgid "Populate the Image service database:" -msgstr "Popule o banco de dados do serviço de Imagem:" - -msgid "Populate the Orchestration database:" -msgstr "Popule a base de dados de Orquestração:" - -msgid "Populate the database:" -msgstr "Popule a base de dados:" - -msgid "Pre-seed debconf prompts" -msgstr "Solicitações debconf pré-respondidas" - -msgid "Prepare the Database service:" -msgstr "Prepare o serviço de banco de dados:" - -msgid "Prepare the trove admin database:" -msgstr "Prepare o banco de dados de administração do trove:" - -msgid "Prerequisites" -msgstr "Pré-requisitos" - -msgid "" -"Proceed to network configuration for the example OpenStack Networking (neutron) or legacy networking (nova-network) " -"architecture." -msgstr "" -"Prossiga com a configuração de rede para a arquitetura de exemplo OpenStack Networking (neutron) " -"ou legacy networking (nova-" -"network)." - -msgid "RABBIT_PASS" -msgstr "RABBIT_PASS" - -msgid "" -"RHEL and CentOS enable SELinux by default. Install " -"the openstack-selinux package to automatically manage " -"security policies for OpenStack services:" -msgstr "" -"O RHEL e o CentOS habilitam o SELinux por padrão. " -"Instale o pacote openstack-selinux para gerenciar " -"automaticamente as políticas de segurança para os serviços OpenStack: " - -msgid "RabbitMQ credentials parameters" -msgstr "Parâmetros das credenciais do RabbitMQ." - -msgid "Rebalance the ring:" -msgstr "Reequilibre o anel:" - -msgid "Reboot the system to activate the changes." -msgstr "Reinicialize o sistema para ativar as alterações." - -msgid "" -"Reconfiguring network interfaces will interrupt network connectivity. We " -"recommend using a local terminal session for these procedures." -msgstr "" -"A reconfiguração das intefaces de rede irá interromper a conectividade de " -"rede. Recomendamos utilizar uma sessão de terminal local para estes " -"procedimentos." - -msgid "Red Hat Enterprise Linux, CentOS, and Fedora" -msgstr "Red Hat Enterprise Linux, CentOS, e Fedora" - -msgid "Register API endpoints" -msgstr "Registre os endpoints da API" - -msgid "Reload the web server configuration:" -msgstr "Reinicie a configuração do servidor web" - -msgid "" -"Remove the /var/lib/ntp/ntp.conf.dhcp file if it exists." -msgstr "" -"Remova o arquivo /var/lib/ntp/ntp.conf.dhcp se ele " -"existir." - -msgid "" -"Replace ADMIN_PASS with the password you chose for the " -"admin user in the Identity service." -msgstr "" -"Substitua ADMIN_PASS com a senha que você escolheu para " -"o usuário admin no Serviço de Identidade." - -msgid "" -"Replace DEMO_PASS with the password you chose for the " -"demo user in the Identity service." -msgstr "" -"Substitua DEMO_PASS com a senha que você escolheu para o " -"usuário demo no Serviço de Identidade." - -msgid "" -"Replace ADMIN_TOKEN with the random value that " -"you generated in a previous step." -msgstr "" -"Substitua ADMIN_TOKEN com o valor aleatório que " -"você gerou no passo anterior." - -msgid "" -"Replace CEILOMETER_DBPASS with a suitable " -"password." -msgstr "" -"Substitua CEILOMETER_DBPASS com uma senha " -"adequada." - -msgid "" -"Replace CEILOMETER_DBPASS with the password you " -"chose for the Telemetry module database. You must escape special characters " -"such as ':', '/', '+', and '@' in the connection string in accordance with " -"RFC2396." -msgstr "" -"Substitua CEILOMETER_DBPASS com a senha que " -"você escolheu para a base de dados do módulo de Telemetria. Você deve evitar " -"caracteres especiais tais como ':', '/', '+', e '@' na string de conexão de " -"acordo com a RFC2396." - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the ceilometer user in the Identity service." -msgstr "" -"Substitua CEILOMETER_PASS com a senha que você " -"escolheu para o usuário ceilometer no Serviço de " -"Identidade." - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the Telemetry module database." -msgstr "" -"Substitua CEILOMETER_PASS com a senha que você " -"escolheu para a base de dados do módulo de Telemetria." - -msgid "" -"Replace CINDER_DBPASS with a suitable password." -msgstr "" -"Substitua CINDER_DBPASS com uma senha adequada:" - -msgid "" -"Replace CINDER_DBPASS with the password you chose " -"for the Block Storage database." -msgstr "" -"Substitua CINDER_DBPASS com a senha que você " -"escolheu para a base de dados do Block Storage." - -msgid "" -"Replace CINDER_PASS with the password you chose " -"for the cinder user in the Identity service." -msgstr "" -"Substitua CINDER_PASS com a senha que você " -"escolheu para o usuário cinder no serviço de Identidade." - -msgid "" -"Replace DEMO_NET_ID with the ID of the " -"demo-net tenant network." -msgstr "" -"Substitua DEMO_NET_ID com o ID na rede tenant " -"demo-net." - -msgid "" -"Replace FILE with the name of a local file to " -"upload to the demo-container1 container." -msgstr "" -"Substitua FILE com o nome do arquivo local " -"carregado para o contêiner demo-container1." - -msgid "" -"Replace FILE with the name of the file uploaded " -"to the demo-container1 container." -msgstr "" -"Substitua FILE com o nome do arquivo carregado " -"para o contêiner demo-container1." - -msgid "" -"Replace FLOATING_IP_START and " -"FLOATING_IP_END with the first and last IP " -"addresses of the range that you want to allocate for floating IP addresses. " -"Replace EXTERNAL_NETWORK_CIDR with the subnet " -"associated with the physical network. Replace " -"EXTERNAL_NETWORK_GATEWAY with the gateway " -"associated with the physical network, typically the \".1\" IP address. You " -"should disable DHCP on this subnet because instances " -"do not connect directly to the external network and floating IP addresses " -"require manual assignment." -msgstr "" -"SubstituaFLOATING_IP_START e " -"FLOATING_IP_END com o primeiro e o último " -"endereço IP da faixa que você quer alocar para os endereços IP flutuantes. " -"Substitua EXTERNAL_NETWORK_CIDR com a subrede " -"associada com a rede física. Substitua " -"EXTERNAL_NETWORK_GATEWAY com o gateway associado " -"com a rede física, tipicamente o endereço IP \".1\" . Você deve desabilitar " -"o DHCP nesta subrede porque as intâncias não se " -"conectam diretamente à rede externa e os IPs flutuantes requerem atribuição " -"manual." - -msgid "" -"Replace GLANCE_DBPASS with a suitable password." -msgstr "" -"Substitua GLANCE_DBPASS com uma senha adequada." - -msgid "" -"Replace GLANCE_PASS with the password you chose " -"for the glance user in the Identity service." -msgstr "" -"Substitua GLANCE_PASS com a senha que você " -"escolheu para o usuário glance no serviço de Identidade." - -msgid "" -"Replace HASH_PATH_PREFIX and " -"HASH_PATH_SUFFIX with unique values." -msgstr "" -"Substitua HASH_PATH_PREFIX e " -"HASH_PATH_SUFFIX com valores únicos." - -msgid "" -"Replace HEAT_DBPASS with a suitable password." -msgstr "" -"Substitua HEAT_DBPASS com uma senha adequada." - -msgid "" -"Replace HEAT_DBPASS with the password you chose " -"for the Orchestration database." -msgstr "" -"Substitua HEAT_DBPASS com a senha que você " -"escolheu para a base de dados da Orquestração." - -msgid "" -"Replace HEAT_PASS with the password you chose for " -"the heat user in the Identity service." -msgstr "" -"Substitua HEAT_PASS com a senha que você escolheu " -"para o usuário heat no serviço de Identidade." - -msgid "" -"Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"with the IP address of the instance tunnels network interface on your " -"compute node." -msgstr "" -"Substitua INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"com o endereço IP da interface de rede dos túneis de instâncias no seu nodo " -"de Computação." - -msgid "" -"Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"with the IP address of the instance tunnels network interface on your " -"network node." -msgstr "" -"Substitua INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"com o endereço IP da interface de rede da instância de túneis em seu nodo de " -"rede." - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name for the external network. For example, eth1 or " -"ens224. You can also leave these two parameters " -"undefined if you are serving multiple networks with individual bridges for " -"each." -msgstr "" -"Substitua INTERFACE_NAME com o nome de interface " -"atual para a rede externa. Por exemplo, eth1 ou " -"ens224. \n" -"Você também pode deixar estes dois parâmetros indefinidos, se você estiver " -"servindo múltiplas redes com bridges individuais para cada uma." - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth1 or ens224." -msgstr "" -"Substitua INTERFACE_NAME com o nome real da " -"interface. Por exemplo, eth1 ou ens224." - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth2 or ens256." -msgstr "" -"Substitua INTERFACE_NAME com o nome atual da " -"interface. Por exempo, eth2 ou ens256." - -msgid "" -"Replace KEYSTONE_DBPASS with a suitable password." -msgstr "" -"Substitua KEYSTONE_DBPASS com uma senha adequada." - -msgid "" -"Replace KEYSTONE_DBPASS with the password you " -"chose for the database." -msgstr "" -"Substitua KEYSTONE_DBPASS com a senha que você " -"escolheu para o banco de dados." - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your compute node, " -"typically 10.0.0.31 for the first node in the example architecture." -msgstr "" -"Substitua MANAGEMENT_INTERFACE_IP_ADDRESS com o " -"endereço IP da interface de gerenciamento de rede no seu nodo de Computação, " -"tipicamente 10.0.0.31 para o primeiro nodo na arquitetura de exemplo." - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your storage node, " -"typically 10.0.0.41 for the first node in the example architecture." -msgstr "" -"Substitua MANAGEMENT_INTERFACE_IP_ADDRESS com o " -"endereço IP da interface de gerenciamento de rede no seu nodo de storage, " -"tipicamente 10.0.0.41 para o primeiro nodo na arquitetura de exemplo." - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network on the storage node." -msgstr "" -"Substitua MANAGEMENT_INTERFACE_IP_ADDRESS com o " -"endereço IP da rede de gerenciamento no nodo de armazenamento." - -msgid "" -"Replace METADATA_SECRET with a suitable secret " -"for the metadata proxy." -msgstr "" -"Substitua METADATA_SECRET com um secret adequado " -"para o proxy de metadados." - -msgid "" -"Replace METADATA_SECRET with the secret you chose " -"for the metadata proxy." -msgstr "" -"Substitua METADATA_SECRET com a senha que você " -"escolheu para o proxy de metadado." - -msgid "" -"Replace NETWORK_CIDR with the subnet associated " -"with the physical network." -msgstr "" -"Substitua NETWORK_CIDRNEUTRON_DBPASS with a suitable password." -msgstr "" -"Substitua NEUTRON_DBPASS com uma senha adequada." - -msgid "" -"Replace NEUTRON_DBPASS with the password you " -"chose for the database." -msgstr "" -"Substitua NEUTRON_DBPASS com a senha que você " -"escolheu para o banco de dados." - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"for the neutron user in the Identity service." -msgstr "" -"Substitua NEUTRON_PASS com a senha que você " -"escolheu para o usuário neutron no Serviço de Identidade." - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"or the neutron user in the Identity service." -msgstr "" -"Substitua NEUTRON_PASS com a senha que você " -"escolheu para o usuário neutron no Serviço de Identidade." - -msgid "" -"Replace NOVA_DBPASS with a suitable password." -msgstr "" -"Substitua NOVA_DBPASS com uma senha adequada." - -msgid "" -"Replace NOVA_DBPASS with the password you chose " -"for the Compute database." -msgstr "" -"Substitua NOVA_DBPASS com a senha que você " -"escolheu para a base de dados da Computação." - -msgid "" -"Replace NOVA_PASS with the password you chose for " -"the nova user in the Identity service." -msgstr "" -"Substitua NOVA_PASS com a senha que você escolheu " -"para o usuário nova no serviço de Identidade." - -msgid "" -"Replace NTP_SERVER with the hostname or IP " -"address of a suitable more accurate (lower stratum) NTP server. The " -"configuration supports multiple server keys." -msgstr "" -"Substitua NTP_SERVER com um hostname ou um " -"endereço IP de um servidor NTP apropriado mais preciso (lower stratum). A " -"configuração suporta múltiplas chaves server." - -msgid "" -"Replace RABBIT_PASS with a suitable password." -msgstr "" -"Substitua RABBIT_PASS com uma senha adequada." - -msgid "" -"Replace SAHARA_DBPASS with a suitable password." -msgstr "" -"Substitua SAHARA_DBPASS com uma senha adequada:" - -msgid "" -"Replace STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network on the storage " -"node. Replace DEVICE_NAME with a storage device " -"name on the same storage node. For example, using the first storage node in " -" with the /dev/sdb1 storage device and weight of 100:" -msgstr "" -"Substitua STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS com o endereço IP da rede de gerenciamento no nodo de " -"armazenamento. Substitua DEVICE_NAME com um nome " -"de dispositivo de armazenamento no mesmo nodo de armazenamento. Por exemplo, " -"utilizando o primeiro nodo de armazenamento em com o dispositivo de armazenamento /dev/sdb1 e peso de 100:" - -msgid "" -"Replace SWIFT_PASS with the password you chose " -"for the swift user in the Identity service." -msgstr "" -"Substitua SWIFT_PASS com a senha que você " -"escolheu para o usuário swift no Serviço de Identidade." - -msgid "" -"Replace TENANT_NETWORK_CIDR with the subnet you " -"want to associate with the tenant network and " -"TENANT_NETWORK_GATEWAY with the gateway you want " -"to associate with it, typically the \".1\" IP address." -msgstr "" -"Substitua TENANT_NETWORK_CIDR com a subrede que " -"você quer associar com a rede de tenant e " -"TENANT_NETWORK_GATEWAY com o gateway que você " -"quer associar com ela, tipicamente o endereço IP \".1\"." - -msgid "Request an authentication token:" -msgstr "Requisite um token de autenticação:" - -msgid "Reserved user IDs" -msgstr "IDs de usuário reservados" - -msgid "" -"Respond to prompts for database " -"management, Identity " -"service credentials, service " -"endpoint registration, and message " -"broker credentials." -msgstr "" -"Responda às questões para gerenciamento de banco de dados, Credenciais do serviço de Identidade, serviço de registro de endpoint, e " -"credenciais do intermediador de " -"mensagens." - -msgid "" -"Respond to prompts for , which " -"will fill the below database access directive." -msgstr "" -"Responda à perguntas para , que " -"irá preencher a diretiva abaixo, de acesso ao banco de dados." - -msgid "" -"Respond to prompts for the volume group to associate with the Block Storage " -"service. The script scans for volume groups and attempts to use the first " -"one. If your system only contains the cinder-volumes " -"volume group, the script should automatically choose it." -msgstr "" -"Responda às perguntas para o grupo de volume para associar com o serviço de " -"Block Storage. O script varre por grupos de volume e tenta usar o primeiro. " -"Se seu sistema contém somente o grupo de volume cinder-volumes, o script deve utilizá-lo automaticamente." - -msgid "Respond to prompts for web server configuration." -msgstr "Responda às questões para a configuração do servidor web." - -msgid "" -"Respond to the prompts for database management and [keystone_authtoken] settings, and API endpoint registration. The " -" command runs automatically." -msgstr "" -"Responda à questões para gerenciamento de banco de dados, configurações de [keystone_authtoken] e " -"registro de endpoint de API. " -"O comando executa automaticamente." - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials.." -msgstr "" -"Responda às perguntas para gerenciamento de banco de dados, credenciais do Serviço de Identidade, serviço de registro de endpoint, e " -"credenciais do intermediador de mensagens." -"." - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials." -msgstr "" -"Responda às questões para gerenciamento de banco de dados, credenciais do Serviço de Identidade, registro de endpoints de serviço, e " -" credenciais do intermediador de " -"mensagens." - -msgid "Restart the Apache HTTP server:" -msgstr "Reinicie o servidor HTTP Apache" - -msgid "Restart the Block Storage services on the controller node:" -msgstr "Reinicie os serviços de Block Storage no nó controlador:" - -msgid "Restart the Block Storage services on the storage nodes:" -msgstr "Reinicie os serviços de Block Storage nos nós de storage:" - -msgid "Restart the Block Storage services:" -msgstr "Reinicie os serviços de Block Storage:" - -msgid "Restart the Block Storage volume service including its dependencies:" -msgstr "" -"Reinicie o serviço de volume do Block Storage incluindo suas dependências:" - -msgid "Restart the Compute service:" -msgstr "Reinicie o serviço de Computação:" - -msgid "Restart the Compute services:" -msgstr "Reinicie o serviços de Computação:" - -msgid "Restart the Database services:" -msgstr "Reinicie os serviços de Banco de Dados:" - -msgid "Restart the Image service services:" -msgstr "Reinicie os serviços do serviço de Imagem" - -msgid "Restart the Image service:" -msgstr "Reinicie o serviço de Imagem:" - -msgid "Restart the MongoDB service:" -msgstr "Reinicie o serviço do MongoDB:" - -msgid "Restart the NTP service:" -msgstr "Reinicie o serviço NTP:" - -msgid "Restart the Networking service:" -msgstr "Reinicie o serviço de Rede:" - -msgid "Restart the Networking services:" -msgstr "Reinicie os serviços de Rede:" - -msgid "Restart the OVS service:" -msgstr "Reinicie o serviço OVS:" - -msgid "Restart the Object Storage proxy service:" -msgstr "Reinicie o serviço proxy do Armazenamento de Objeto" - -msgid "Restart the Open vSwitch (OVS) agent:" -msgstr "Reinicie o agente Open vSwitch (OVS):" - -msgid "Restart the Orchestration services:" -msgstr "Reinicie os serviços de Orquestração:" - -msgid "Restart the Telemetry services:" -msgstr "Reinicie os serviços de Telemetria:" - -msgid "Restart the agent:" -msgstr "Reinicie o agente:" - -msgid "Restart the database service:" -msgstr "Reinicie o serviço de banco de dados:" - -msgid "Restart the services:" -msgstr "Reinicie os serviços:" - -msgid "Retrieve the trove instances list:" -msgstr "Recupere a lista de instâncias do Trove" - -msgid "" -"Retrieve usage statistics from the image.download meter:" -msgstr "" -"Recuperar estatísticas de uso através do medidor image.download:" - -msgid "Run the following command to install the packages:" -msgstr "Execute os seguintes comandos para instalar os pacotes:" - -msgid "Run the following commands to install the packages:" -msgstr "Execute os seguintes comandos para instalar os pacotes:" - -msgid "Run this command on all other nodes:" -msgstr "Execute esse comando em todos os outros nodos:" - -msgid "Run this command on the controller node:" -msgstr "Execute esse comando no nodo controlador:" - -msgid "SAHARA_DBPASS" -msgstr "SAHARA_DBPASS" - -msgid "SQL database" -msgstr "Banco de dados SQL" - -msgid "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "SUSE does not use a separate ML2 plug-in package." -msgstr "O SUSE não utiliza um pacote separado do plug-in ML2." - -msgid "SWIFT_PASS" -msgstr "SWIFT_PASS" - -msgid "" -"Secure the database service including choosing a suitable password for the " -"root account:" -msgstr "" -"Proteja o serviço de banco de dados incluindo a escolha de uma senha " -"apropriada para a conta root:" - -msgid "Secure the database service:" -msgstr "Proteja o serviço de banco de dados:" - -msgid "Security" -msgstr "Segurança" - -msgid "Select the ML2 plug-in:" -msgstr "Selecione o plug-in ML2:" - -msgid "" -"Selecting the ML2 plug-in also populates the and " -" options in the /etc/neutron/neutron.conf file with the appropriate values." -msgstr "" -"Selecionando o plug-in ML2 também popula as opções e " -" no arquivo /etc/neutron/neutron.conf " -"com valores apropriados." - -msgid "Services and the [keystone_authtoken]" -msgstr "Servicços e o [keystone_authtoken]" - -msgid "" -"Set the hostname of the node to controller." -msgstr "" -"defina o hostname do nodo para controller." - -msgid "Set the hostname of the node to compute1." -msgstr "Defina o hostname do nodo para compute1." - -msgid "Set the hostname of the node to network." -msgstr "defina o hostname do nodo para network." - -msgid "Set the hostname of the node to block1." -msgstr "Defina o hostname do nodo para block1." - -msgid "Set the hostname of the node to object1." -msgstr "Defina o hostname do nodo para object1." - -msgid "Set the hostname of the node to object2." -msgstr "Defina o hostname do nodo para object2." - -msgid "Show the service status:" -msgstr "Exibir o status do serviço:" - -msgid "" -"Similarly, if your compute nodes use LVM on the operating system disk, you " -"must also modify the filter in the /etc/lvm/lvm.conf file " -"on those nodes to include only the operating system disk. For example, if " -"the /dev/sda device contains the operating system:" -msgstr "" -"Da mesma forma, se seus nodos de computação utilizam LVM no disco do sistema " -"operacional, você deve também modificar o filtro no arquivo /etc/" -"lvm/lvm.conf nesses nodos para incluir somente o disco do sistema " -"operacional.\n" -"Por exemplo, se o dispositivo /dev/sda contém o sistema " -"operacional:" - -msgid "" -"So, if using Debian, you wont need to care about database creation, access " -"rights and character sets. All that is handled for you by the packages." -msgstr "" -"Assim, se você estiver usando Debian, não precisará se preocupar com a " -"criação de banco de dados, direitos de acesso e conjuntos de caracteres. " -"Tudo isso é manipuado para você pelos pacotes." - -msgid "" -"Some OpenStack packages generate and assign user IDs automatically during " -"package installation. In these cases, the user ID value is not important. " -"The existence of the user ID is what matters." -msgstr "" -"Alguns pacotes do OpenStack geram e atribuem IDs de usuário automaticamente " -"durante a instalação de pacotes. Nesses casos, o valor do ID de usuário não " -"é importante. O que importa é a existência do ID." - -msgid "" -"Some cloud images ignore the DHCP MTU option in which case you should " -"configure it using metadata, a script, or another suitable method." -msgstr "" -"Algumas imagens da nuvem ignoram a opção de MTU do DHCP, caso em que você " -"deverá configurá-la utilizando metadados, um script, ou outro método " -"adequado." - -msgid "Some distributions include LVM by default." -msgstr "Algumas distribuições incluem o LVM por padrão." - -msgid "Source the demo-openrc.sh file." -msgstr "Obtenha o arquivo demo-openrc.sh." - -msgid "" -"Source the admin credentials to gain access to admin-only " -"CLI commands:" -msgstr "" -"Execute um source nas credenciais de admin para obter " -"acesso aos comandos CLI admin-only." - -msgid "Source the admin tenant credentials:" -msgstr "Adquira as credenciais do tenant admin:" - -msgid "" -"Source the demo credentials to gain access to user-only " -"CLI commands:" -msgstr "" -"Obtenha as credenciais demo para ter acesso aos comandos " -"user-only CLI:" - -msgid "Source the demo tenant credentials:" -msgstr "Obtenha as credenciais do tenant demo :" - -msgid "Start the rsync service:" -msgstr "Inicie o serviço rsync:" - -msgid "" -"Start the rsyncd service and " -"configure it to start when the system boots:" -msgstr "" -"Inicie o serviço rsyncd e " -"configure-o para iniciar quando o sistema inicializar:" - -msgid "" -"Start the Block Storage services and configure them to start when the system " -"boots:" -msgstr "" -"Inicie os serviços de Block Storage e configure-os para iniciar quando o " -"sistema inicializar:" - -msgid "" -"Start the Block Storage volume service including its dependencies and " -"configure them to start when the system boots:" -msgstr "" -"Inicie o serviço de volume do Block Storage incluindo suas dependências e " -"configure-os para iniciar quando os sistema inicializar:" - -msgid "" -"Start the Compute service including its dependencies and configure them to " -"start automatically when the system boots:" -msgstr "" -"Inicie o serviço de Computação incluindo suas dependências e configure-o " -"para iniciar automaticamente quando o sistema inicializar:" - -msgid "" -"Start the Compute services and configure them to start when the system boots:" -msgstr "" -"Inicie os serviços de Computação e configure-os para iniciar quando o " -"sistema inicializar:" - -msgid "" -"Start the Database services and configure them to start when the system " -"boots:" -msgstr "" -"Inicie os serviços de Banco de Dados e configure-os para iniciar quendo o " -"sistema inicializar:" - -msgid "" -"Start the Image service services and configure them to start when the system " -"boots:" -msgstr "" -"Inicie os serviços de Imagem e configure-os para iniciar junto com o sistema." - -msgid "" -"Start the LVM metadata service and configure it to start when the system " -"boots:" -msgstr "" -"Inicie o serviço de metadados LVM e configure-o para iniciar quando o " -"sistema inicializar:" - -msgid "" -"Start the Memcached service and configure it to start when the system boots:" -msgstr "" -"Inicie o serviço Memcached e configure-o para iniciar junto com o sistema:" - -msgid "" -"Start the MongoDB services and configure them to start when the system boots:" -msgstr "" -"Inicie os serviços do MongoDB e configure-os para iniciar quando o sistema " -"inicializar:" - -msgid "Start the NTP service and configure it to start when the system boots:" -msgstr "" -"Inicie o serviço NTP e configure-o para iniciar quando o sistema inicializar:" - -msgid "" -"Start the Networking service and configure it to start when the system boots:" -msgstr "" -"Inicie o serviço de rede e configure-o para iniciar quando o sistema " -"inicializar:" - -msgid "" -"Start the Networking services and configure them to start when the system " -"boots:" -msgstr "" -"Inicie os serviços de Rede e configure-os para iniciar quando o sistema " -"inicializar:" - -msgid "Start the OVS service and configure it to start when the system boots:" -msgstr "" -"Inicie o serviço OVS e configure-o para iniciar quando o sistema inicializar:" - -msgid "" -"Start the Open vSwitch (OVS) agent and configure it to start when the system " -"boots:" -msgstr "" -"Inicie o agente Open vSwitch (OVS) e configure-o para iniciar quando o " -"sistema inicializar:" - -msgid "" -"Start the Orchestration services and configure them to start when the system " -"boots:" -msgstr "" -"Inicie os serviços de Orquestração e configure-os para iniciar quando o " -"sistema inicializar:" - -msgid "" -"Start the Telemetry services and configure them to start when the system " -"boots:" -msgstr "" -"Inicie os serviços de Telemetria e configure-os para iniciar quando o " -"sistema inicializar:" - -msgid "" -"Start the database service and configure it to start when the system boots:" -msgstr "" -"Inicie o serviço de banco de dados e configure-o para iniciar quando o " -"sistema inicializar:" - -msgid "Start the services and configure them to start when the system boots:" -msgstr "" -"Inicie os serviços e configure-os para iniciar quando o sistema inicializar:" - -msgid "" -"Start the web server and session storage service and configure them to start " -"when the system boots:" -msgstr "" -"Inicie o servidor web e o serviço de armazenamento de sessão e configure-os " -"para iniciar quando o sistema inicializar:" - -msgid "" -"Switch to the [DEFAULT] section. Proceed to the " -"networking parameters. If you are using Neutron for networking, then set " -"use_neutron=true. Otherwise if you are using " -"nova-network set the given parameter to " -"false." -msgstr "" -"Alterne para a seção [DEFAULT]. Vá até os parâmetros de " -"rede. Se você estiver usando Neutron para rede, então defina " -"use_neutron=true. Do contrário, se você estiver usando " -"nova-network, defina o parâmetro dado para " -"false." - -msgid "TELEMETRY_SECRET" -msgstr "TELEMETRIA_SEGREDO" - -msgid "TENANT_NETWORK_CIDR" -msgstr "TENANT_NETWORK_CIDR" - -msgid "TENANT_NETWORK_GATEWAY" -msgstr "TENANT_NETWORK_GATEWAY" - -msgid "TIME_ZONE" -msgstr "TIME_ZONE" - -msgid "TROVE_DBPASS" -msgstr "TROVE_DBPASS" - -msgid "TROVE_PASS" -msgstr "TROVE_PASS" - -msgid "" -"Telemetry provides a framework for monitoring and metering the OpenStack " -"cloud. It is also known as the ceilometer project." -msgstr "" -"A Telemetria fornece uma estrutura para monitoramento e medição da nuvem " -"OpenStack. Ela é conhecida como projeto ceilometer." - -msgid "Tenant network" -msgstr "Rede de tenant" - -msgid "" -"That should be enough for the first run. If you want to increase logging " -"level for troubleshooting, there are two parameters in the config: " -"verbose and debug. If the former is " -"set to true, sahara will start to write logs of " -"INFO level and above. If debug is set " -"to true, sahara will write all the logs, including the " -"DEBUG ones." -msgstr "" -"Isso deveria ser suficiente para a primeira execução. Se você quiser " -"aumentar o nível de log para solução de problemas, existem dois parâmetros " -"na configuração: verbose e debug. Se " -"o primeiro está definido para true, o sahara irá iniciar " -"a escrever logs de nível INFO e acima. Se debug está definido para true, o sahara irá escrever " -"todos os logs, incluindo aqueles de DEBUG." - -msgid "" -"The seen true option tells debconf that a " -"specified screen was already seen by the user so do not show it again. This " -"option is useful for upgrades." -msgstr "" -"A opção seen true diz ao debconf que a tela " -"especificada já foi vista pelo usuário e não deve ser mostrada novamente. " -"Esta opção é útil para atualizações." - -msgid "" -"The metadata agent " -"provides configuration information such as credentials to instances." -msgstr "" -"O agente de metadados " -"fornece informações de configuração tais como credenciais para as instâncias." - -msgid "" -"The controller node runs the Identity service, Image Service, management portions of " -"Compute and Networking, Networking plug-in, and the dashboard. It also " -"includes supporting services such as a SQL database, message " -"queue, and Network Time Protocol (NTP)." -msgstr "" -"O nodo controlador " -"executa o Serviço de Identidade, Serviço de Imagem, partes do gerenciamento " -"da Computação e da Rede, plug-in de Rede, e o dashboard. Ele inclui também, " -"serviços como um banco de dados SQL, fila de mensagens, e Network Time Protocol (NTP)." - -msgid "" -"The DHCP agent provides DHCP services for virtual " -"networks." -msgstr "" -"O agente DHCP fornece serviços DHCP para redes " -"virtuais." - -msgid "" -"The Juno release is available only in Debian " -"Experimental (otherwise called rc-buggy), as Jessie is frozen soon, and will " -"contain Icehouse. However, the Debian maintainers of OpenStack also maintain " -"a non-official Debian repository for OpenStack containing Wheezy backports." -msgstr "" -"A versão Juno está disponível somente no Debian " -"Experimental (chamado também de rc-buggy), como Jessie será congelado em " -"breve, e irá conter o IceHouse. Contudo, os mantenedores do OpenStack no " -"Debian também mantêm um repositório Debian não oficial para OpenStack, " -"contendo os portes retroativos para Wheezy." - -msgid "" -"The Layer-3 (L3) agent provides routing services for " -"virtual networks." -msgstr "" -"O agente Layer-3 (L3) fornece serviços de roteamento " -"para redes virtuais." - -msgid "" -"The OpenStack project is an open source cloud " -"computing platform that supports all types of cloud environments. The " -"project aims for simple implementation, massive scalability, and a rich set " -"of features. Cloud computing experts from around the world contribute to the " -"project." -msgstr "" -"O projeto OpenStack é uma plataforma de computação em " -"nuvem de código aberto que suporta todos os tipos de ambientes de nuvem. O " -"projeto visa à uma implementação simples, escalabilidade massiva, e um rico " -"conjunto de características. Especialistas em computação em nuvem em todo o " -"mundo contribuem para o projeto." - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. Compute also provisions tenant networks and provides firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"O nodo de computação executa a parte de " -"hypervisor da Computação que opera as máquinas virtuaishospedadas ou instâncias. Por padrão, a " -"Computação utiliza o KVM como hypervisor. o nodo de computação " -"também executa o plug-in de Rede e um agente que conecta as redes de tenants " -"às instâncias e fornece serviços de firewall (grupos de segurança). Você pode executar mais de um nodo " -"de computação." - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. The compute node also runs the Networking plug-in and an agent " -"that connect tenant networks to instances and provide firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"O nodo de computação executa a parte de " -"hypervisor da Computação que opera as máquinas virtuaishospedadas ou instâncias. Por padrão, a " -"Computação utiliza o KVM como hypervisor. o nodo de computação " -"também executa o plug-in de Rede e um agente que conecta as redes de tenants " -"às instâncias e fornece serviços de firewall (grupos de segurança). Você pode executar mais de um nodo " -"de computação." - -msgid "" -"The launch an instance chapter " -"includes instructions for attaching this volume to an instance." -msgstr "" -"O capítulo lançar uma instância " -"inclui instruções para conectar este volume a uma instância." - -msgid "" -"The dbconfig-common package will configure MySQL for " -"these access rights, and create the database for you. Since OpenStack " -"2014.1.1, all OpenStack packages in Debian are performing the following " -"MySQL query after database creation (if you decide to use MySQL as a back-" -"end):" -msgstr "" -"O pacote dbconfig-common irá configurar o MySQL para " -"estes direitos de acesso, e criar a base de dados para você. Desde o " -"OpenStack 2014.1.1, todos os pacotes OpenStack no Debian estão realizando a " -"seguinte query MySQL após a criação da base de dados (se você decidir usar " -"MySQL como retaguarda):" - -msgid "" -"The heat-common package and not the heat-api package configures the Orchestration service." -msgstr "" -"O pacote heat-common e não o pacote heat-api configura o serviço de orquestração." - -msgid "" -"The call on openSUSE outputs a warning message when the " -"service uses SysV Init scripts instead of native systemd files. This warning " -"can be ignored." -msgstr "" -"A chamada no openSUSE emite uma mensagem de aviso quando o " -"serviço utiliza scripts init SysV em vez de arquivos nativos do systemd. " -"Este aviso pode ser ignorado." - -msgid "" -"The rsync service requires no " -"authentication, so consider running it on a private network." -msgstr "" -"O serviço rsync não requer " -"autenticação, portanto, considere executá-lo em uma rede privada." - -msgid "The Block Storage service creates logical volumes in this volume group." -msgstr "O serviço de Block Storage cria volumes lógicos neste grupo de volume." - -msgid "" -"The CirrOS image includes conventional user name/password authentication and " -"provides these credentials at the login prompt. After logging into CirrOS, " -"we recommend that you verify network connectivity using ." -msgstr "" -"A imagem CirrOS inclui autenticação convencional de usuário/senha e fornece " -"estas credenciais no prompt de login. Depois de fazer login na CirrOS, " -"recomendamos que você verifique a conectividade de rede utilizando " -"." - -msgid "" -"The Debian OpenStack packages are maintained on Debian Sid (also known as " -"Debian Unstable) - the current development version. Backported packages run " -"correctly on Debian Wheezy with one caveat:" -msgstr "" -"Os pacotes do Debian OpenStack são mantidos no Debian Sid (também conhecido " -"como Debian instável) - a versãoatual de desenvolvimento. Pacotes portados " -"rodam corretamente no Debian Wheezy com uma ressalva:" - -msgid "" -"The Debian OpenStack packages offer automation for this, so OpenStack users " -"do not have to manually edit the configuration files." -msgstr "" -"Os pacotes Debian OpenStack oferecem automatização para isso, então os " -"usuários do OpenStack não devem editar manualmente os arquivos de " -"configuração." - -msgid "" -"The Debian package post installation scripts will then perform the below " -"commands for you:" -msgstr "" -"Os scripts do pacote de pós-instalação do Debian irão, então, realizar os " -"comandos abaixo para você:" - -msgid "The Debian packages" -msgstr "Os pacotes Debian" - -msgid "" -"The Identity Service is installed with MySQL as the database back end, " -"keystonedb as database name, and the localhost socket " -"file. The corresponding DNS will then be:" -msgstr "" -"O Serviço de Identidade é instalado com o MySQL como banco de dados, " -"keystonedb como nome da base de dados, e o arquivo de " -"soquete localhost. O DNS correspondente será então:" - -msgid "" -"The Identity service manages a catalog of API endpoints associated with the " -"services in your OpenStack environment. Services use this catalog to " -"determine how to communicate with other services in your environment." -msgstr "" -"O Serviço de Identidade gerencia um catálogo de endpoints de API associados " -"com os serviços em seu ambiente OpenStack. Os serviços utilizam este " -"catálogo para determinar como se comunicar com outros serviços em seu " -"ambiente." - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances." -msgstr "" -"O plug-in ML2 utiliza o mecanismo (agente) Open vSwitch (OVS) para construir a estrutura de rede virtual " -"para as instâncias." - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances. However, the controller node does not need the OVS " -"components because it does not handle instance network traffic." -msgstr "" -"O plug-in ML2 utiliza o mecanismo (agente) Open vSwitch (OVS) para construir a estrutura virtual de rede " -"para as instâncias. Contudo, o nodo controlador não precisa dos componentes " -"OVS porque ele não lida com o tráfego de rede das instâncias." - -msgid "" -"The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the " -"virtual networking framework for instances." -msgstr "" -"O plug-in ML2 utiliza o mecanismo (agente) do Open vSwitch (OVS) para " -"construir a estrutura de rede virtual para instâncias." - -msgid "" -"The Networking service initialization scripts expect a symbolic link " -"/etc/neutron/plugin.ini pointing to the ML2 plug-in " -"configuration file, /etc/neutron/plugins/ml2/ml2_conf.ini. If this symbolic link does not exist, create it using the " -"following command:" -msgstr "" -"Os scripts de inicialização do serviço de Rede esperam um link simbólico " -"/etc/neutron/plugin.ini apontando para o arquivo de " -"configuração do plug-in ML2, /etc/neutron/plugins/ml2/ml2_conf." -"ini. Se este link simbólico não existir, crie-o utilizando o " -"seguinte comando:" - -msgid "" -"The Networking service initialization scripts expect the variable " -"NEUTRON_PLUGIN_CONF in the /etc/sysconfig/" -"neutron file to reference the ML2 plug-in configuration file. " -"Edit the /etc/sysconfig/neutron file and add the " -"following:" -msgstr "" -"Os scripts de inicialização do serviço de Rede esperam a variável " -"NEUTRON_PLUGIN_CONF no arquivo /etc/sysconfig/" -"neutron para referenciar o arquivo de configuração do plug-in " -"ML2. Edite o arquivo /etc/sysconfig/neutron e adicione " -"o seguinte:" - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances." -msgstr "" -"O serviço OVS fornece a estrutura de rede virtual subjacente para as " -"instâncias." - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances. The integration bridge br-int handles internal " -"instance network traffic within OVS. The external bridge br-ex handles external instance network traffic within OVS. The external " -"bridge requires a port on the physical external network interface to provide " -"instances with external network access. In essence, this port connects the " -"virtual and physical external networks in your environment." -msgstr "" -"O serviço OVS fornece a estrutura virtual de rede subjacente para as " -"instâncias. A bridge de integração br-int manipula o " -"tráfego dentro do OVS. A bridge externa br-ex manipula o " -"tráfego externo de rede da instância dentro do OVS. A bridge externa requer " -"uma porta na interface física da rede externa para fornecer instâncias com " -"acesso à rede externa. Essencialmente, esta porta conecta as redes virtual e " -"física em seu ambiente." - -msgid "" -"The OpenStack Object Storage services (swift) work together to provide " -"object storage and retrieval through a REST API. Your environment must at least include the Identity service " -"(keystone) prior to deploying Object Storage." -msgstr "" -"O serviços OpenStack de Object Storage (swift) trabalham em conjunto para " -"fornecer armazenamento e recuperação de objeto através de uma API REST. Seu ambiente deve incluir, pelo " -"menos, o serviço de Identidade (keystone) antes da implantação do Object " -"Storage." - -msgid "" -"The Orchestration module (heat) uses a heat orchestration template (HOT) to " -"create and manage cloud resources." -msgstr "" -"O módulo de Orquestração (heat) utiliza o modelo heat orchestration (HOT) " -"para criar e gerenciar recursos de nuvem." - -msgid "" -"The Orchestration service automatically assigns the " -"heat_stack_user role to users that it creates during " -"stack deployment. By default, this role restricts API " -"operations. To avoid conflicts, do not add this role to users with the " -"heat_stack_owner role." -msgstr "" -"O serviço de Orquestração atribui automaticamente o papel " -"heat_stack_user a usuários que ele cria durante a " -"implantação da pilha ou stack. Por padrão, este papel restringe as operações " -"de API. Para evitar conflitos, não adicione este " -"papel para usuários com o papel heat_stack_owner." - -msgid "The Python MySQL library is compatible with MariaDB." -msgstr "A biblioteca Python MySQL é compatível com o MariaDB." - -msgid "" -"The account server uses the account ring to maintain lists of containers." -msgstr "" -"O servidor de conta utiliza o anel de conta para manter listas de " -"contêineres." - -msgid "" -"The automatic configuration process generates a self-signed SSL certificate. " -"Consider obtaining an official certificate for production environments." -msgstr "" -"O processo de configuração automática gera um certificado SSL auto-assinado. " -"Considere a obtenção de um certificado oficial para ambientes de produção." - -msgid "" -"The compute node handles connectivity and security groups for instances." -msgstr "" -"O nodo de Computação trata da conectividade e dos grupos de segurança para as instâncias." - -msgid "" -"The container server uses the container ring to maintain lists of objects. " -"However, it does not track object locations." -msgstr "" -"O servidor de contêiner utiliza o anel contêiner para manter listas de " -"objetos. Contudo, ele não rastreia localizações de objeto." - -msgid "" -"The dashboard enables web-based interactions with the OpenStack Compute " -"cloud controller through the OpenStack APIs." -msgstr "" -"O dashboard permite interações na web com o controlador de nuvem OpenStack " -"Compute através das APIs do OpenStack." - -msgid "" -"The debconf system helps users configure the auth_uri, " -"identity_uri, admin_tenant_name, admin_user and admin_password options." -msgstr "" -"O sistema debconf ajuda os usuários a configurar as opções auth_uri, identity_uri, admin_tenant_name, " -"admin_user e admin_password." - -msgid "The example architecture assumes use of the following networks:" -msgstr "A arquitetura de exemplo assume a utilização das seguintes redes:" - -msgid "" -"The example architecture with OpenStack Networking (neutron) requires one " -"controller node, one network node, and at least one compute node. The " -"controller node contains one network interface on the management " -"network. The network node contains one network interface on the " -"management network, one on the instance tunnels network, and one on the external network. The " -"compute node contains one network interface on the management network and " -"one on the instance tunnels network." -msgstr "" -"A arquitetura de exemplo com Rede OpenStack (neutron) requer um nodo " -"controlador, um nodo de rede, e pelo menos um nodo de computação. O nodo " -"controlador contém uma interface de rede na rede de " -"gerenciamento. O nodo de rede contém uma interface de rede na " -"rede de gerenciamento, uma na rede de túneis de instância, e uma na rede externa. o nodo de " -"computação contém uma interface de rede na rede de gerenciamento e uma na " -"rede de túneis de instância." - -msgid "" -"The example architecture with legacy networking (nova-network) requires a " -"controller node and at least one compute node. The controller node contains " -"one network interface on the management network. The " -"compute node contains one network interface on the management network and " -"one on the external network." -msgstr "" -"A arquitetura de exemplo com rede legada (nova-network) requer um nodo " -"controlador e pelo menos um nodo de Computação. O nodo controlador contém " -"uma interface de rede na rede de gerenciamento. O " -"nodo de Computação contém uma interface de rede na rede de gerenciamento e " -"uma na rede externa." - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the second interface as the external interface:" -msgstr "" -"A interface externa utiliza uma configuração especial sem endereço IP " -"atribuído a ela. Configure a segunda interface como interface externa:" - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the third interface as the external interface:" -msgstr "" -"A interface externa utiliza uma configuração especial sem um endereço IP " -"atribuído a ela. Configure a terceira interface como interface externa." - -msgid "" -"The external network typically provides Internet access for your instances. " -"By default, this network only allows Internet access from instances using Network Address Translation (NAT). You can enable Internet access to " -"individual instances using a floating IP address and " -"suitable security group rules. The admin tenant owns this network because it provides external network " -"access for multiple tenants." -msgstr "" -"A rede externa tipicamente fornece acesso à Internet para suas instâncias. " -"Por padrão, esta rede somente permite acesso à Internet a partir das instâncias utilizando Network Address Translation " -"(NAT). Você pode habilitar o acesso à Internet para instâncias individuais utilizando um endereço IP " -"flutuante e regras adequadas de grupo de segurança. O tenant admin detém esta rede porque ele " -"fornece acesso de rede externa para múltiplos tenants." - -msgid "" -"The following example shows how to pre-seed an automated MySQL Server " -"installation:" -msgstr "" -"O exemplo a seguir mostra como pré-configurar uma instalação automatizada do " -"Servidor MySQL." - -msgid "The following screens show an example Image service configuration:" -msgstr "" -"As seguintes imagens mostram um exemplo de configuração do serviço de Imagem:" - -msgid "The installation process for this package can take a while." -msgstr "O processo de instalação para esse pacote pode demorar um pouco." - -msgid "" -"The network node primarily handles internal and external routing and " -"DHCP services for virtual networks." -msgstr "" -"O nodo de rede manipula primariamente o roteamento interno e externo e os " -"serviços de DHCP para redes virtuais." - -msgid "" -"The network node runs the Networking plug-in and several agents that " -"provision tenant networks and provide switching, routing, NAT, and " -"DHCP services. This node also handles external " -"(Internet) connectivity for tenant virtual machine instances." -msgstr "" -"O nodo de Rede executa o plug-in de Rede e diversos agentes que provisionam " -"redes de tenants e fornecem serviços de switching, roteamento, NAT, e " -"DHCP. Este nodo também manipula a conectividade " -"externa (Internet) para instâncias de máquinas virtuais hospedadas." - -msgid "" -"The object server uses the object ring to maintain lists of object locations " -"on local devices." -msgstr "" -"O servidor de objeto utiliza o anel objeto para manter listas de " -"localizações de objeto nos dispositivos locais." - -msgid "" -"The optional Block Storage node contains the disks that the Block Storage " -"service provisions for tenant virtual machine instances. You can run more " -"than one of these nodes." -msgstr "" -"O nodo opcional de Block Storage contém os discos que o serviço de Block " -"Storage provisiona para as instâncias de máquinas virtuais hospedadas. Você " -"pode executar mais de um desses nodos." - -msgid "" -"The optional Object Storage nodes contain the disks that the Object Storage " -"service uses for storing accounts, containers, and objects. You can run more " -"than two of these nodes. However, the minimal architecture example requires " -"two nodes." -msgstr "" -"Os nodos opcionais de Object Storage contém os discos que o serviço Object " -"Storage utiliza para armazenamento de contas, contêineres, e objetos. Você " -"pode executar mais de dois destes nodos. Contudo, a arquitetura mínima de " -"exemplo requer dois nodos." - -msgid "The other directives concerning RabbitMQ will stay untouched." -msgstr "As outras diretivas relacionadas ao RabbitMQ permanecerão intactas." - -msgid "" -"The packages are signed by GPG key 893A90DAD85F9316. You should verify the " -"fingerprint of the imported GPG key before using it." -msgstr "" -"Os pacotes são assinados por chave GPG 893A90DAD85F9316. Você deve verificar " -"a impressão digital da chave GPG importada antes de utilizá-la." - -msgid "" -"The packages are signed by GPG key 562111AC05905EA8. You " -"should verify the fingerprint of the imported GPG key before using it." -msgstr "" -"Os pacotes são assinados por chave GPG 562111AC05905EA8. " -"Você deve verificar a impressão digital das chaves GPG importadas antes de " -"utilizá-las." - -msgid "" -"The packages do not require pre-depends. If dbconfig-common is already installed on the system, the user " -"sees all prompts. However, you cannot define the order in which the " -"debconf screens appear. The user " -"must make sense of it even if the prompts appear in an illogical order." -msgstr "" -"Os pacotes não exigem pré-dependências. Se o dbconfig-common já está configurado no sistema, o usuário vê " -"todas as perguntas. Contudo, você não define a ordem na qual as telas do " -"debconf aparecem. As perguntas " -"devem fazer sentido para o usuário, mesmo que apareçam em uma ordem ilógica." - -msgid "" -"The server component listens on all IP addresses and the proxy component " -"only listens on the management interface IP address of the compute node. The " -"base URL indicates the location where you can use a web browser to access " -"remote consoles of instances on this compute node." -msgstr "" -"O componente servidor escuta em todos os endereços IP e o componente de " -"proxy somente escuta no endereço IP da interface de gerenciamento no nodo de " -"Computação. A URL base indica a localização onde você pode utilizar um " -"navegador web para acessar consoles remotos de instâncias nesse nodo de " -"Computação." - -msgid "" -"The status changes from BUILD to ACTIVE when your instance finishes the build process." -msgstr "" -"O estado muda de BUILD para ACTIVE " -"quando sua instância termina o processo de construção." - -msgid "" -"The storage node runs many Object Storage services and the " -"command makes them easier to manage. You can ignore errors from services not " -"running on the storage node." -msgstr "" -"O nodo de armazenamento executa muitos serviços de Object Storage e o " -"comando torna-os fáceis de se gerenciar. Você pode ignorar " -"erros de serviços que não estejam rodando no nodo de armazenamento." - -msgid "" -"The tenant network provides internal network access for instances. The " -"architecture isolates this type of network from other tenants. The " -"demo tenant owns this network because it only provides " -"network access for instances within it." -msgstr "" -"A rede de tenant fornece acesso de rede interna para instâncias. A " -"arquitetura isola esse tipo de rede dos outros tenants. O tenant " -"demo detém essa rede porque ele fornece somente acesso de " -"rede para instâncias dentro dele." - -msgid "" -"The values of AUTH_TOKEN, KEYSTONE_ENDPOINT_IP, PKG_ENDPOINT_IP and REGION_NAME depend on the answer you will provide to the debconf prompts. But " -"the values of SERVICE_NAME, SERVICE_TYPE, SERVICE_DESC and SERVICE_URL " -"are already pre-wired in each package, so you don't have to remember them." -msgstr "" -"Os valores de AUTH_TOKEN, KEYSTONE_ENDPOINT_IP, PKG_ENDPOINT_IP e REGION_NAME dependem da resposta que você irá fornecer para as perguntas do " -"debconf. Mas os valores de SERVICE_NAME, " -"SERVICE_TYPE, SERVICE_DESC e " -"SERVICE_URL já são pré-fixados em cada pacote, portanto " -"você não tem que se lembrar deles." - -msgid "" -"Then, debconf does not prompt you." -msgstr "" -"Então, debconf não fará qualquer " -"solicitação a você." - -msgid "" -"These debconf screens appear in: ceilometer-" -"common, cinder-common, glance-common, " -"heat-common, neutron-common and nova-common." -msgstr "" -"Estas telas do debconf aparecem em: ceilometer-" -"common, cinder-common, glance-common, " -"heat-common, neutron-common and nova-common." - -msgid "" -"These screens appear when you re-configure the dbconfig-common package:" -msgstr "" -"Estas telas aparecem quando você reconfigura o pacote dbconfig-" -"common:" - -msgid "" -"These steps reference example components created in previous chapters. You " -"must adjust certain values such as IP addresses to match your environment." -msgstr "" -"Esses passos referenciam componentes de exemplo criados no capitulo " -"anterior. Você deve ajustar certos valores, tais como endereço IP para " -"corresponder ao seu ambiente." - -msgid "" -"This connection directive will be handled by the " -"dbconfig-common package, which provides a standard Debian " -"interface. It enables you to configure Debian database parameters. It " -"includes localized prompts for many languages and it supports the following " -"database backends: SQLite, MySQL, and PostgreSQL." -msgstr "" -"Esta diretiva connection será manipulada pelo pacote " -"dbconfig-common, que fornece a interface padrão Debian. " -"Ele o habilita a configurar os parâmetros de banco de dados do Debian. Ele " -"inclui solicitações localizadas para várias linguagens e suporta os " -"seguintes bancos de dados: SQLite, MySQL, e PostgreSQL." - -msgid "" -"This calls the post-installation script for the PACKAGE-NAME package after the user responds to all prompts. If you cannot " -"install a Debian package in a non-interactive way, you have found a release-" -"critical bug in Debian. Report it to the Debian bug tracking system." -msgstr "" -"Isso chama o script de pós-instalação para o pacote PACKAGE-" -"NAME depois que o usuário responde a todas as perguntas. Se " -"você não pode instalar um pacote Debian de uma forma não interativa, você " -"encontrou um bug crítico de release no Debian. Relate isso para o sistema de " -"rastreamento de bugs do Debian." - -msgid "This caveat applies to most OpenStack packages in Wheezy." -msgstr "Esta ressalva se aplica à maioria dos pacotes OpenStack no Wheezy." - -msgid "" -"This chapter explains how to configure each node in the example architectures " -"including the two-node architecture with legacy networking and three-node architecture " -"with OpenStack Networking (neutron)." -msgstr "" -"Este capítulo explica como configurar cada nodo nas arquiteturas de exemplo, " -"incluindo a arquitetura de dois nodos com rede legada e a arquitetura de três " -"nodos com OpenStack Networking (neutron)." - -msgid "" -"This chapter explains how to install and configure either OpenStack " -"Networking (neutron), or the legacy nova-" -"network component. The nova-" -"network service enables you to deploy one network type per " -"instance and is suitable for basic network functionality. OpenStack " -"Networking enables you to deploy multiple network types per instance and " -"includes plug-ins for a variety " -"of products that support virtual networking." -msgstr "" -"Este capítulo explica como instalar e configurar a Rede OpenStack (neutron), " -"ou o componente legado nova-network. O serviço nova-network permite a você implantar um tipo de rede por instância e é " -"adequado para funcionalidade básica de rede. A Rede OpenStack permite a você " -"implantar múltiplos tipos de rede por instância e inclui plug-ins para uma variedade de produtos que suportam " -"virtual networking." - -msgid "" -"This chapter explains how to use the Debian debconf and dbconfig-common packages to configure OpenStack services. These packages enable " -"users to perform configuration tasks. When users install OpenStack packages, " -"debconf prompts the user for responses, which seed the " -"contents of configuration files associated with that package. After package " -"installation, users can update the configuration of a package by using the " -" program." -msgstr "" -"Este capítulo explica como utilizar os pacotes debconf e dbconfig-common do Debian para configurar os serviços do OpenStack. Estes " -"pacotes permitem aos usuários realizar tarefas de configuração. Quando os " -"usuários instalam os pacotes do OpenStack, o debconf " -"solicita ao usuário as respostas, as quais alimentam o conteúdo dos arquivos " -"de configuração associados ao pacote. Depois da instalação do pacote, os " -"usuários podem atualizar a configuração do pacote usando o programa " -"." - -msgid "" -"This chapter is a work in progress. It may contain incorrect information, " -"and will be updated frequently." -msgstr "" -"Este capítulo é um trabalho em progresso. Ele pode conter informações " -"incorretas, e será atualizado frequentemente." - -msgid "" -"This chapter omits the backup manager because it depends on the Object " -"Storage service." -msgstr "" -"Este capítulo omite o gerenciador de backup porque ele depende do serviço de " -"Object Storage." - -msgid "This command provides no output." -msgstr "Este comando não retorna resultados." - -msgid "This example deployment uses an Apache web server." -msgstr "Este exemplo de implantação utiliza um servidor web Apache." - -msgid "This example shows you how to create a MySQL 5.5 database:" -msgstr "Este exemplo mostra a você como criar uma base de dados MySQL 5.5:" - -msgid "" -"This example shows you how to create a MySQL datastore with version 5.5:" -msgstr "" -"Este exemplo mostra a você como criar um datastore MySQL com versão 5.5:" - -msgid "" -"This guide describes how to deploy these services in a functional test " -"environment and, by example, teaches you how to build a production " -"environment. Realistically, you would use automation tools such as Ansible, " -"Chef, and Puppet to deploy and manage a production environment." -msgstr "" -"Este guia descreve como implantar estes serviços em um ambiente de teste " -"funcional, através de exemplos, o ensina como construir um ambiente de " -"produção. Realisticamente, você usaria ferramentas de automação como o " -"Ansible, Chef, e Puppet para implantar e gerenciar um ambiente de produção." - -msgid "" -"This guide uses a service project that contains a unique user for each " -"service that you add to your environment." -msgstr "" -"Este guia usa um projeto serviço que contém um usuário único para cada " -"serviço que é adicionado no seu ambiente." - -msgid "" -"This image must have the trove guest agent installed, and it must have the " -"trove-guestagent.conf file configured to connect to " -"your OpenStack environment. To correctly configure the trove-" -"guestagent.conf file, follow these steps on the guest instance " -"you are using to build your image:" -msgstr "" -"Esta imagem deve ter o agente trove instalado, e deve ter o arquivo " -"trove-guestagent.conf configurado para conectar-se ao " -"seu ambiente OpenStack. Para configurar corretamente o arquivo " -"trove-guestagent.conf , siga estes passos na instância " -"guest que você está usando para contruir sua imagem:" - -msgid "" -"This information is stored in the configuration file for each service. For " -"example:" -msgstr "" -"Essa informação é armazenada no arquivo de configuração para cada serviço. " -"For exemplo:" - -msgid "" -"This network does not require a gateway because communication only occurs " -"among network and compute nodes in your OpenStack environment." -msgstr "" -"Esta rede não requer um gateway porque a comunicação ocorre somente entre os " -"nodos de Rede e Computação em seu ambiente OpenStack." - -msgid "" -"This network requires a gateway to provide Internet access to all nodes for " -"administrative purposes such as package installation, security updates, " -"DNS, and NTP." -msgstr "" -"Esta rede requer um gateway para fornecer acesso à Internet para todos os " -"nodos, para propósitos administrativos, tais como instalação de pacotes, " -"atualizações de segurança, DNS, e NTP." - -msgid "" -"This network requires a gateway to provide Internet access to instances in " -"your OpenStack environment." -msgstr "" -"Esta rede requer um gateway para fornecer acesso à Internet para as " -"instâncias em seu ambiente OpenStack." - -msgid "" -"This network shares the same subnet associated with " -"the physical network connected to the external interface on the compute node. You should specify an exclusive slice of " -"this subnet to prevent interference with other devices on the external " -"network." -msgstr "" -"Esta rede compartilha a mesma sub-rede associada com " -"a rede física conectada à interface no nodo de " -"computação. Você deve especificar uma fatia exclusiva dessa sub-rede para " -"prevenir interferência com outros dispositivos na rede externa." - -msgid "" -"This procedure installs the Data processing service (sahara) on the " -"controller node." -msgstr "" -"Este procedimento instala o serviço de processamento de Dados (sahara) no " -"nodo controlador." - -msgid "This procedure installs the Database service on the controller node." -msgstr "" -"Esse procedimento instala o serviço de banco de dados no nó controlador." - -msgid "" -"This screen configures the IP addresses for the service. The configuration " -"script automatically detects the IP address used by the interface that is " -"connected to the default route (/sbin/route and /sbin/ip)." -msgstr "" -"Essa tela configura o endereço IP para o serviço. O script de configuração " -"automaticamente detecta o endereço IP usado pela interface que está " -"conectada à rota default (/sbin/route e /sbin/ip)." - -msgid "" -"This screen configures the region name for the service. For example, " -"us-east-coast or europe-paris." -msgstr "" -"Essa tela configura o nome da região para o serviço. Por exemplo, us-" -"east-coast ou europe-paris." - -msgid "This screen registers packages in the Identity Service catalog:" -msgstr "Essa tela registra pacotes no catálogo do Serviço de Identidade:" - -msgid "" -"This section assumes that you are following the instructions in this guide " -"step-by-step to configure the first compute node. If you want to configure " -"additional compute nodes, prepare them in a similar fashion to the first " -"compute node in the example architectures section using the same networking service " -"as your existing environment. For either networking service, follow the " -"NTP configuration and OpenStack packages instructions. For " -"OpenStack Networking (neutron), also follow the OpenStack Networking compute node instructions. " -"For legacy networking (nova-network), also follow the legacy networking compute node instructions. Each " -"additional compute node requires unique IP addresses." -msgstr "" -"Esta seção supõe que você está seguindo as instruções neste guia passo a " -"passo para configurar o nodo de computação. Se você quiser configurar nodos " -"de computação adicionais, prepare-os de maneira similar ao primeiro nodo de " -"computação na seção arquiteturas de exemplo utilizando o mesmo serviço de rede que já " -"existe em seu ambiente. Para qualquer outro serviço de rede, siga as " -"instruções de configuração NTP e pacotes OpenStack. Para " -"Rede OpenStack (neutron), siga também as instruções nodo de computação de Rede OpenStack. Para rede " -"legada (nova-network), siga também as instruções nodo de computação de rede legada. Cada nodo de " -"computação adicional requer endereços IP únicos." - -msgid "" -"This section covers deployment of a simple flat network that provides IP addresses to your instances via DHCP. If your environment includes multiple compute nodes, the " -"multi-host feature provides redundancy by spreading " -"network functions across compute nodes." -msgstr "" -"Esta seção cobre a implantação de uma simples rede fixa que fornece endereços IP para suas instâncias via " -"DHCP. Se seu ambiente inclui múltiplos nodos de " -"Computação, a característica de multi-host fornece " -"redundância distribuindo funções de rede pelos nodos de Computação." - -msgid "" -"This section describes how to install and configure storage nodes for the " -"Block Storage service. For simplicity, this configuration references one " -"storage node with an empty local block storage device /dev/sdb that contains a suitable partition table with one partition " -"/dev/sdb1 occupying the entire device. The service " -"provisions logical volumes on this device using the LVM driver and provides them to instances via iSCSI " -"transport. You can follow these instructions with minor modifications to " -"horizontally scale your environment with additional storage nodes." -msgstr "" -"Esta seção descreve como instalar e configurar nodos de storage para o " -"serviço de Block Storage. Para simplificar, esta configuração referencia um " -"nodo de storage com um dispositivo vazio de armazenamento em bloco /" -"dev/sdb, que contém uma tabela de partição adequada, com uma " -"partição /dev/sdb1 ocupando o dispositivo inteiro. O " -"serviço provisiona volumes lógicos neste dispositivo utilizando o driver " -"LVM e os fornece às instâncias via transporte " -"iSCSI. Você pode seguir estas instruções com pequenas " -"modificações para escalar horizontalmente seu ambiente com nodos de storage " -"adicionais." - -msgid "" -"This section describes how to install and configure the Block Storage " -"service, code-named cinder, on the controller node. This service requires at " -"least one additional storage node that provides volumes to instances." -msgstr "" -"Esta seção descreve como instalar e configurar o serviço de Block Storage, " -"apelidado de cinder, no nodo controlador. Este serviço requer pelo menos um " -"nodo de storage adicional que fornecerá volumes às instâncias." - -msgid "" -"This section describes how to install and configure the Compute service on a " -"compute node. The service supports several hypervisors to deploy instances or VMs. For simplicity, this configuration uses the " -"QEMU hypervisor " -"with the KVM " -"extension on compute nodes that support hardware acceleration for virtual " -"machines. On legacy hardware, this configuration uses the generic QEMU " -"hypervisor. You can follow these instructions with minor modifications to " -"horizontally scale your environment with additional compute nodes." -msgstr "" -"Esta seção descreve como instalar e configurar o serviço de Computação no " -"nodo de computação. O serviço suporta diversos hypervisors para implantar instâncias ou VMs. Para simplificar, esta configuração utiliza o " -"hypervisor QEMU " -"com a extensão KVM nos nodos de computação que suportam aceleração de hardware para " -"máquinas virtuais. Em hardwares antigos, esta configuração utiliza o " -"hypervisor QEMU genérico. Você pode seguir estas instruções com pequenas " -"modificações para escalar horizontalmente seu ambiente com nodos de " -"computação adicionais." - -msgid "" -"This section describes how to install and configure the Compute service, " -"code-named nova, on the controller node." -msgstr "" -"Esta seção descreve como instalar e configurar o serviço de Computação, " -"apelidado de nova, no nodo controlador." - -msgid "" -"This section describes how to install and configure the Orchestration " -"module, code-named heat, on the controller node." -msgstr "" -"Esta seção descreve como instalar e configurar o módulo de Orquestração, " -"apelidado de heat, no nodo controlador." - -msgid "" -"This section describes how to install and configure the Telemetry module, " -"code-named ceilometer, on the controller node. The Telemetry module uses " -"separate agents to collect measurements from each OpenStack service in your " -"environment." -msgstr "" -"Esta seção descreve como instalar e configurar o módulo de Telemetria, " -"apelidado de ceilometer, no nodo controlador. O módulo de Telemetria utiliza " -"agentes separados para coletar medições a partir de cada serviço OpenStack " -"em seu ambiente." - -msgid "" -"This section describes how to install and configure the dashboard on the " -"controller node." -msgstr "" -"Esta seção descreve como instalar e configurar o dashboard no nodo " -"controlador." - -msgid "" -"This section describes how to verify operation of the Block Storage service " -"by creating a volume." -msgstr "" -"Esta seção descreve como verificar a operação do serviço de Block Storage " -"através da criação de um volume." - -msgid "" -"This section describes how to verify operation of the Object Storage service." -msgstr "" -"Esta seção descreve como verificar a operação do serviço Object Storage." - -msgid "" -"This section describes how to verify operation of the Orchestration module " -"(heat)." -msgstr "" -"Esta seção descreve como verificar a operação do módulo de Orquestração " -"(heat)." - -msgid "This section describes how to verify operation of the Telemetry module." -msgstr "Essa seção descreve como verificar operações no módulo de Telemetria." - -msgid "This section describes how to verify operation of the dashboard." -msgstr "Esta seção descreve como verificar a operação do dashboard." - -msgid "" -"This will configure the below directives (example from nova.conf):" -msgstr "" -"Isto irá configurar as diretivas abaixo (exemplo de nova.conf):" - -msgid "" -"Three-node architecture with OpenStack Networking (neutron) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"Arquitetura de três nodos com nodo OpenStack Networking (neutron) e nodos " -"opcionais para serviços Block Storage e Object Storage." - -msgid "To access your instance remotely" -msgstr "Para acessar sua instância remotamente" - -msgid "To access your instance using a virtual console" -msgstr "Para acessar sua instância utilizando um console virtual" - -msgid "To attach a Block Storage volume to your instance" -msgstr "Para conectar um volume do Block Storage à sua instância" - -msgid "To configure Compute to use Networking" -msgstr "Para configurar a Computação para utilizar a Rede" - -msgid "To configure legacy networking" -msgstr "Para configurar a rede legada" - -msgid "To configure name resolution:" -msgstr "Para configurar a resolução de nomes:" - -msgid "To configure networking:" -msgstr "Para configurar a rede:" - -msgid "To configure notifications" -msgstr "Para configurar notificações" - -msgid "To configure prerequisites" -msgstr "Para configurar pre-requisitos" - -msgid "To configure the Apache HTTP server" -msgstr "Configuração do servidor HTTP Apache" - -msgid "To configure the DHCP agent" -msgstr "Para configurar o agente DHCP" - -msgid "To configure the Layer-3 (L3) agent" -msgstr "Para configurar o agente Camada-3 (L3)" - -msgid "To configure the Modular Layer 2 (ML2) plug-in" -msgstr "Para configurar o plug-in Modular Layer 2 (ML2)" - -msgid "To configure the NTP service" -msgstr "Para configurar o serviço NTP" - -msgid "To configure the Networking common components" -msgstr "Para configurar os componentes comuns de Rede" - -msgid "To configure the Networking server component" -msgstr "Para configurar o componente de servidor de Rede" - -msgid "To configure the Open vSwitch (OVS) service" -msgstr "Para configurar o serviço Open vSwitch (OVS)" - -msgid "To configure the dashboard" -msgstr "Para configurar o dashboard" - -msgid "To configure the metadata agent" -msgstr "Para configurar o agente de metadado" - -msgid "" -"To create a router on the tenant network and attach the external and tenant " -"networks to it" -msgstr "" -"Para criar um roteador na rede de tenant e conectar as redes externa e de " -"tenant a ele" - -msgid "To create a subnet on the external network" -msgstr "Para criar uma subrede na rede externa" - -msgid "To create a subnet on the tenant network" -msgstr "Para criar uma subrede na rede de tenant" - -msgid "To create tenants, users, and roles" -msgstr "Para criar tenants, usuários, e papéis" - -msgid "To create the Identity service credentials, complete these steps:" -msgstr "" -"Para criar as credenciais do Serviço de Identidade, complete estes passos:" - -msgid "To create the database, complete these steps:" -msgstr "Para criar a base de dados, complete estes passos:" - -msgid "To create the external network" -msgstr "Para criar a rede externa" - -msgid "To create the network" -msgstr "Para criar a rede" - -msgid "To create the ring" -msgstr "Para criar o anel" - -msgid "To create the scripts" -msgstr "Para criar os scripts" - -msgid "To create the service credentials, complete these steps:" -msgstr "Para criar as credenciais de serviço, complete estes passos:" - -msgid "To create the service entity and API endpoint" -msgstr "Para criar a entidade de serviço e o endpoint de API" - -msgid "To create the tenant network" -msgstr "Para criar a rede de tenant" - -msgid "To disable Network Manager" -msgstr "Para desabilitar o Network Manager" - -msgid "To enable the OpenStack repository" -msgstr "Habilitar o repositório OpenStack" - -msgid "To finalize installation" -msgstr "Para finalizar a instalação" - -msgid "To finalize the installation" -msgstr "Para finalizar a instalação" - -msgid "To generate a key pair" -msgstr "Para gerar um par de chaves" - -msgid "To install and configure Block Storage controller components" -msgstr "" -"Para instalar e configurar os componentes de controlador do Block Storage" - -msgid "To install and configure Compute controller components" -msgstr "Para instalar e configurar os componentes do controlador de Computação" - -msgid "To install and configure the Compute controller components" -msgstr "Para instalar e configurar os componentes do controlador de Computação" - -msgid "To install and configure the Compute hypervisor components" -msgstr "Instalar e configurar os componentes de hypervisor de Computação" - -msgid "To install and configure the Identity service components" -msgstr "Instalação e configuração dos componentes do serviço de Identidade" - -msgid "To install and configure the Image service components" -msgstr "Instalar e configurar os componentes do serviço de Imagem" - -msgid "To install and configure the Networking components" -msgstr "Para instalar e configurar os componentes de Rede" - -msgid "To install and configure the Orchestration components" -msgstr "Para instalar e configurar os componentes da Orquestração" - -msgid "To install and configure the Telemetry module components" -msgstr "Para instalar e configurar os componentes do módulo de Telemetria" - -msgid "To install and configure the agent" -msgstr "Instalar e configurar o agente" - -msgid "To install and configure the components" -msgstr "Para instalar e configurar os componentes" - -msgid "To install and configure the controller node components" -msgstr "Para instalar e configurar os componentes do nodo controlador" - -msgid "To install and configure the database server" -msgstr "Instalar e configurar o servidor de banco de dados" - -msgid "To install legacy networking components" -msgstr "Para instalar componentes de rede legados" - -msgid "To install the Data processing service on the controller:" -msgstr "Para instalar o serviço de processamento de dados no controlador:" - -msgid "To install the Database service on the controller:" -msgstr "Instalar oserviço de Banco de Dados no controlador:" - -msgid "To install the NTP service" -msgstr "Para instalar o serviço NTP" - -msgid "To install the Networking components" -msgstr "Para instalar os componentes de rede" - -msgid "To install the dashboard components" -msgstr "Para instalar os componentes do dashboard" - -msgid "To launch an instance" -msgstr "Para lançar uma instância" - -msgid "" -"To launch an instance, you must at least specify the flavor, image name, " -"network, security group, key, and instance name." -msgstr "" -"Para lançar uma instância, você deve ao menos especificar o sabor, nome da " -"imagem, grupo de segurança, chave, e o nome da instância." - -msgid "To load client environment scripts" -msgstr "Para carregar scripts de ambiente de cliente" - -msgid "" -"To minimize clutter and provide more resources for OpenStack, we recommend a " -"minimal installation of your Linux distribution. Also, we strongly recommend " -"that you install a 64-bit version of your distribution on at least the " -"compute node. If you install a 32-bit version of your distribution on the " -"compute node, attempting to start an instance using a 64-bit image will fail." -msgstr "" -"Para minimizar a desordem e fornecer mais recursos para o OpenStack, " -"recomendamos uma instalação mínima de sua distribuição Linux. Também, " -"recomendamos fortemente que você instale uma versão de 64-bits da sua " -"distribuição pelo menos no nodo de Computação. se você instalar a versão de " -"32 bits da sua distribuição no nodo de computação, a tentativa de iniciar " -"uma instância usando uma imagem de 64-bits irá falhar." - -msgid "" -"To opt out of using the debconf " -"package, run the command and select non-interactive mode:" -msgstr "" -"Para optar por usar o pacote debconf, execute o comando e selecione o modo não-" -"interativo:" - -msgid "" -"To temporarily disable GRO on the external network interface while testing " -"your environment:" -msgstr "" -"Para desabilitar o GRO na interface de rede externa enquanto testa seu " -"ambiente:" - -msgid "To use the Debian Wheezy backports archive for Juno" -msgstr "Utilizar arquivos Debian Wheezy portados para o Juno" - -msgid "" -"To use the VNC client with the dashboard, the browser must support HTML5 " -"Canvas and HTML5 WebSockets." -msgstr "" -"Para usar o cliente VNC com o dashboard, o browser deve suportar HTML5 " -"Canvas e HTML5 WebSockets." - -msgid "To verify network connectivity" -msgstr "Para verificar a conectividade de rede" - -msgid "" -"To verify that the Database service is installed and configured correctly, " -"try executing a trove command:" -msgstr "" -"Para verificar que o serviço de banco de dados está instalado e configurado " -"corretamente, tente executar um comando do trove:" - -msgid "" -"Tunneling protocols such as GRE include additional packet headers that " -"increase overhead and decrease space available for the payload or user data. " -"Without knowledge of the virtual network infrastructure, instances attempt " -"to send packets using the default Ethernet maximum transmission " -"unit (MTU) of 1500 bytes. Internet protocol (IP) networks contain the path MTU discovery (PMTUD) mechanism to detect end-to-end MTU and adjust packet size " -"accordingly. However, some operating systems and networks block or otherwise " -"lack support for PMTUD causing performance degradation or connectivity " -"failure." -msgstr "" -"Protocolos de tunelamento como o GRE incluem cabeçalhos de pacote adicionais " -"que aumentam a sobrecarga e diminuem o espaço disponível para o payload e " -"dados de usuário. Sem o conhecimento da infraestrutura virtual de rede, as " -"instâncias tentam enviar pacotes utilizando a padrão Ethernet de " -"glossterm>maximum transmission unit (MTU) de 1500 bytes. As " -"redes Internet protocol (IP) contém o mecanismo " -"path MTU discovery (PMTUD) para detectar o MTU fim-a-" -"fim e ajustar o tamanho dos pacotes adequadamente. Contudo, alguns sistemas " -"operacionais e redes, bloqueiam ou, ao contrário, não possuem suporte para o " -"PMTUD causando degradação de desempenho ou falha de conectividade." - -msgid "" -"Two-node architecture with legacy networking (nova-network) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"Arquitetura de dois nodos com rede legada (nova-network) e nodos opcionais " -"para serviços de Block Storage e Object Storage." - -msgid "USER" -msgstr "USER" - -msgid "Ubuntu 14.04" -msgstr "Ubuntu 14.04" - -msgid "" -"Ubuntu installs the openstack-dashboard-ubuntu-theme " -"package as a dependency. Some users reported issues with this theme in " -"previous releases. If you encounter issues, remove this package to restore " -"the original OpenStack theme." -msgstr "" -"O Ubuntu instala o pacote openstack-dashboard-ubuntu-theme como uma dependência. Alguns usuários reportaram problemas com esse " -"tema em versões anteriores. Se você encontrar problemas, remova este pacote " -"para restaurar o tema original do OpenStack." - -msgid "" -"Unless you have a unique set up for your network, press ENTER." -msgstr "" -"A menos que você tenha uma configuração única para sua rede, pressione " -"ENTER." - -msgid "" -"Unless you intend to use the exact configuration provided in this example " -"architecture, you must modify the networks in this procedure to match your " -"environment. Also, each node must resolve the other nodes by name in " -"addition to IP address. For example, the controller name must resolve to 10.0.0.11, the IP " -"address of the management interface on the controller node." -msgstr "" -"A menos que você pretenda utilizar a configuração exata fornecida nesta " -"arquitetura de exemplo, você deve modificar as redes neste procedimento para " -"corresponder ao seu ambiente. Também, cada nodo deve resolver os outros " -"nodos pelo nome adicionalmente ao endereço IP. Por exemplo, o nome de " -"controlador deve resolver para " -"10.0.0.11, o endereço IP da interface de gerenciamento no " -"nodo controlador." - -msgid "" -"Unlike other debconf prompts, you cannot pre-seed the " -"responses for the dbconfig-common prompts by using " -". Instead, you must create a file in /etc/dbconfig-" -"common. For example, you might create a keystone configuration " -"file for dbconfig-common that is located in /" -"etc/dbconfig-common/keystone.conf, as follows:" -msgstr "" -"Diferentemente de outras solicitações do debconf, você " -"não pode pré-definir as respostas para as solicitações do dbconfig-" -"common utilizando . Em vez disso, você deve criar " -"um arquivo em /etc/dbconfig-common. Por exemplo, você " -"pode criar um arquivo de configuração do keystone para o dbconfig-" -"common que está localizado em /etc/dbconfig-common/" -"keystone.conf, como segue:" - -msgid "" -"Update the datastore and version to use the specific image with the " -" command." -msgstr "" -"Atualize o datastore e a versão para utilizar a imagem específica com o " -"comando ." - -msgid "" -"Update the package database, upgrade your system, and reboot for all changes " -"to take effect:" -msgstr "" -"Atualize o banco de dados de pacotes, atualize seu sistema, e reinicialize " -"para que todas as alterações tenham efeito:" - -msgid "Update the repository database and install the key:" -msgstr "Atualize o banco de dados do repositório e instale a chave:" - -msgid "Upgrade the packages on your system:" -msgstr "Atualize os pacotes em seu sistema:" - -msgid "Upload a test file:" -msgstr "Carregar um arquivo de teste:" - -msgid "Upload post-provisioning configuration validation rules:" -msgstr "" -"Carregue as regras de validação de configuração de pós-provisionamento:" - -msgid "Use the command to create a stack from the template:" -msgstr "" -"Utilize o comando para criar a pilha através do modelo:" - -msgid "" -"Use the command to verify successful creation of the stack:" -msgstr "" -"Utilize o comando para verificar a criação com sucesso da " -"pilha:" - -msgid "Use the YaST network module:" -msgstr "Utilize o módulo de rede do YaST:" - -msgid "" -"Use the database access client to connect to the database server as the " -"root user:" -msgstr "" -"Utilize o cliente de acesso a banco de dados para acessar o servidor de " -"banco de dados como usuário root:" - -msgid "" -"Use the random value that you generated in a previous step. If you install " -"using non-interactive mode or you do not specify this token, the " -"configuration tool generates a random value." -msgstr "" -"Utilize o valor aleatório que você gerou no passo anterior. Se você instalar " -"usando o modo não interativo ou você não especificar este token, a " -"ferramenta de configuração gera um valor aleatório." - -msgid "Verify addition of the key pair:" -msgstr "Verifique adição do par de chaves:" - -msgid "Verify addition of the public key:" -msgstr "Verifique a adição da chave pública:" - -msgid "Verify connectivity" -msgstr "Verifique a conectividade" - -msgid "Verify creation and availability of the volume:" -msgstr "Verifique a criação e a disponibilidade do volume:" - -msgid "Verify creation of the network:" -msgstr "Verifique a criação da rede:" - -msgid "" -"Verify network connectivity using from the controller node " -"or any host on the external network:" -msgstr "" -"Verifique a conectividade de rede utilizando a partir do " -"nodo controlador ou qualquer host na rede externa:" - -msgid "Verify operation" -msgstr "Verifique a operação" - -msgid "Verify operation of the Compute service." -msgstr "Verifique operação do serviço de Computação." - -msgid "" -"Verify operation of the Identity service before installing other services." -msgstr "" -"Verifique operação do serviço de Identidade antes de instalar os outros " -"serviços." - -msgid "Verify the demo-net network:" -msgstr "Verifique a rede demo-net:" - -msgid "Verify the demo-net tenant network gateway:" -msgstr "Verifique o gateway de rede do tenant demo-net:" - -msgid "Verify the ext-net external network:" -msgstr "Verifique a rede externa ext-net:" - -msgid "Verify the Data processing service installation" -msgstr "Verifique a instalação do serviço de processamento de Dados" - -msgid "Verify the Database service installation" -msgstr "Verifique a instalação do serviço de Banco de Dados" - -msgid "Verify the Telemetry installation" -msgstr "Verifique a instalação da Telemetria" - -msgid "Verify the ring contents:" -msgstr "Verifique o conteúdo do anel:" - -msgid "" -"We recommend that you verify NTP synchronization before proceeding further. " -"Some nodes, particularly those that reference the controller node, can take " -"several minutes to synchronize." -msgstr "" -"Recomendamos que você verifique a sincronização NTP antes de prosseguir. " -"Alguns nodos, particularmente aqueles que referenciam o nodo controlador, " -"podem levar vários minutos para sincronizar." - -msgid "" -"We recommend that you verify network connectivity and resolve any issues " -"before proceeding further. Following the external network subnet example " -"using 203.0.113.0/24, the tenant router gateway should " -"occupy the lowest IP address in the floating IP address range, " -"203.0.113.101. If you configured your external physical " -"network and virtual networks correctly, you should be able to this IP address from any host on your external physical network." -msgstr "" -"Recomendamos que você verifique a conectividade de rede e resolva quaisquer " -"problemas antes de prosseguir.\n" -"Seguindo o exemplo da subrede externa utilizando 203.0.113.0/24, o roteador de tenant deve ocupar o endereço IP mais baixo na faixa " -"de endereços IP flutuantes, 203.0.113.101. Se você " -"configurou sua rede física externa e as redes virtuais, você deve ser capaz " -"de este endereço IP de qualquer host em sua rede física " -"externa." - -msgid "" -"We recommend that you verify network connectivity to the Internet and among " -"the nodes before proceeding further." -msgstr "" -"Recomendamos que você verifique a conectividade de rede à Internet e entre " -"os nodos antes de prosseguir adiante." - -msgid "" -"When you implement this architecture, skip in . To use optional " -"services, you might need to build additional nodes, as described in " -"subsequent chapters." -msgstr "" -"Quando você implementa esta arquitetura, salte a seção em . Para " -"utilizar serviços opcionais, você precisaria construir nodos adicionais, " -"como descrito nos capítulos subsequentes." - -msgid "" -"When you implement this architecture, skip in . Optional services might " -"require additional nodes or additional resources on existing nodes." -msgstr "" -"Quando você implementa esta arquitetura, salte a em . Serviços " -"opcionais podem requerer nodos adicionais ou recursos adicionais nos nodos " -"existentes." - -msgid "" -"When you install a package for an API service, you are prompted to register " -"that service. However, after you install or upgrade the package for an API " -"service, Debian immediately removes your response to this prompt from the " -"debconf database. Consequently, you are prompted to re-" -"register the service with the Identity Service. If you already registered " -"the API service, respond no when you upgrade." -msgstr "" -"Quando você instala um pacote para um serviço de API, você será solicitado a " -"registrar esse serviço. No entanto, depois que você instala ou atualiza um " -"pacote para um serviço de API, o Debian imediatamente remove sua resposta à " -"essa solicitação do banco de dados debconf. " -"Consequentemente, você será solicitado a registrar novamente o serviço com " -"o Serviço de Identidade. Se você já registrou o serviço de API, responda " -"no quando você atualizar." - -msgid "" -"When you install or upgrade a Debian package, all configuration file values " -"are preserved. Using the debconf " -"database as a registry is considered a bug in Debian. If you edit something " -"in any OpenStack configuration file, the debconf package reads that value when it prepares to prompt " -"the user. For example, to change the log in name for the RabbitMQ messaging " -"queue for a service, you can edit its value in the corresponding " -"configuration file." -msgstr "" -"Quando você instala ou atualiza um pacote Debian, todos os valores nos " -"arquivos de configuração são preservados. Usar o banco de dados do " -"debconf como um registro é " -"considerado um bug no Debian. Se você editar algo em qualquer arquivo de " -"configuração do OpenStack, o pacote debconf lê esse valor quando se prepara para avisar ao usuário. Por " -"exemplo, para alterar o nome de login para a fila de mensagens RabbitMQ para " -"um serviço, você pode editar o seu valor no arquivo de configuração " -"correspondente." - -msgid "" -"You are prompted for the Identity Service admin_token " -"value. The Identity Service uses this value to register the API service. " -"When you set up the keystone package, this value is " -"configured automatically." -msgstr "" -"Você será solicitado pelo Serviço de Identidade a fornecer o valor " -"admin_token. O Serviço de Identidade usa esse valor para " -"registrar o serviço de API. Quando você configura o pacote " -"keystone, esse valor é configurado automaticamente." - -msgid "You can also reference a flavor by ID." -msgstr "Você também pode referenciar um sabor pelo ID." - -msgid "" -"You can modify these ranges and gateways to work with your particular " -"network infrastructure." -msgstr "" -"Você pode modificar estas faixas e gateways para trabalharem com sua " -"estrutura particular de rede." - -msgid "" -"You can pre-seed all debconf " -"prompts. To pre-seed means to store responses in the debconf database so that debconf does not prompt the " -"user for responses. Pre-seeding enables a hands-free installation for users. " -"The package maintainer creates scripts that automatically configure the " -"services." -msgstr "" -"Você pode pré-preencher todas as solicitações do debconf. Pré-preencher significa armazenar respostas no " -"banco de dados do debconf de forma que o " -"debconf não solicite respostas ao usuário. O pré-" -"preenchimento habilita um instalação sem interação para os usuários. O " -"mantenedor do pacote cria scripts que configuram automaticamente os serviços." - -msgid "You can repeat this procedure to create additional projects and users." -msgstr "" -"Você pode repetir esse procedimento para criar projetos e usuários " -"adicionais." - -msgid "" -"You must add the heat_stack_owner role to users that " -"manage stacks." -msgstr "" -"Você deve adicionar o papel heat_stack_owner para " -"usuários que gerenciam pilhas." - -msgid "" -"You must configure each storage node before you install and configure the " -"Object Storage service on it. Similar to the controller node, each storage " -"node contains one network interface on the management network. Optionally, each storage node can contain a second network " -"interface on a separate network for replication. For more information, see " -"." -msgstr "" -"Você deve configurar cada nodo de armazenamento antes de instalar e " -"configurar o serviço Object Storage nele. Similar ao nodo controlador, cada " -"nodo de armazenamento contém uma interface de rede na rede de " -"gerenciamento. Opcionalmente, cada nodo de armazenamento pode " -"conter uma segunda interface de rede em uma rede separada para replicação. " -"Para mais informações, consulte ." - -msgid "" -"You must configure the storage node before you install and configure the " -"volume service on it. Similar to the controller node, the storage node " -"contains one network interface on the management network. The storage node also needs an empty block storage device of " -"suitable size for your environment. For more information, see ." -msgstr "" -"Você deve configurar o nodo de storage antes de instalar e configurar o " -"serviço de volume nele. Similar ao nodo de computação, o nodo de storage " -"contém uma interface de rede na rede de gerenciamento. O nodo de storage também precisa de um dispositivo de blocos " -"vazio de tamanho adequado para seu ambiente. Para mais informações, consulte " -"." - -msgid "You must create a partition table and file system to use the volume." -msgstr "" -"Você deve criar uma tabela de partição e um sistema de arquivos para " -"utilizar o volume." - -msgid "" -"You must enable remote access before you install OpenStack services on " -"multiple nodes." -msgstr "" -"Você deve habilitar o acesso remoto antes de instalar os serviços do " -"OpenStack em múltiplos nodos." - -msgid "" -"You must install NTP to properly synchronize services among nodes. We recommend that " -"you configure the controller node to reference more accurate (lower stratum) " -"servers and other nodes to reference the controller node." -msgstr "" -"Você deve instalar o NTP para sincronizar adequadamente os serviços entre os " -"nodos. recomendamos que você configure o nodo controlador para referenciar " -"os servidores mais precisos (lower stratum) e os outros nodos para " -"referenciarem o nodo controlador." - -msgid "You must reference volumes using the IDs instead of names." -msgstr "Você deve referenciar volumes utilizando os IDs em vez de nomes." - -msgid "" -"You must source the admin tenant credentials for this " -"step and then source the demo tenant credentials for the " -"remaining steps." -msgstr "" -"Você deve obter as credenciais do tenant admin para este " -"passo e então, obter as credenciais do tenant demo para " -"os passos restantes." - -msgid "" -"You must use an account with administrative privileges to configure each " -"node. Either run the commands as the root user or " -"configure the sudo utility." -msgstr "" -"Você deve utilizar uma conta com privilégios administrativos para configurar " -"cada nodo. Ou você executa os comandos como usuário root " -"ou configura o utilitário sudo." - -msgid "" -"You need to install the required packages. For now, sahara doesn't have " -"packages for Ubuntu. Documentation will be updated once the packages are " -"available. The rest of this document assumes that you have the sahara " -"service packages installed on the system." -msgstr "" -"Você precisa instalar os pacotes requeridos. No momento, o sahara não tem " -"pacotes para Ubuntu.\n" -"A Documentação será atualizada tão logo os pacotes estejam disponíveis. O " -"restante deste documento assume que você tem os pacotes do serviço sahara " -"instalados no sistema." - -msgid "" -"You need to take upstream api-paste.ini and change " -"content below in it:" -msgstr "" -"Você precisa pegar api-paste.ini e alterar o conteúdo " -"abaixo nele:" - -msgid "You should see output similar to this:" -msgstr "Você deve ver uma saída semelhante a esta:" - -msgid "" -"Your OpenStack environment now includes Block Storage. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Seu ambiente OpenStack agora inclui o Block Storage. Você pode lançar uma instância ou adicionar mais serviços " -"ao seu ambiente nos capítulos seguintes." - -msgid "" -"Your OpenStack environment now includes Object Storage. You can launch an instance or add more services " -"to your environment in the following chapters." -msgstr "" -"Seu ambiente OpenStack inclui agora o Block Storage. Você pode lançar uma instância ou adicionar mais serviços " -"ao seu ambiente nos capítulos seguintes." - -msgid "" -"Your OpenStack environment now includes Orchestration. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Seu ambiente OpenStack agora inclui Orquestração. Você pode lançar uma instância ou adicionar mais serviços " -"ao seu ambiente nos capítulos seguintes." - -msgid "" -"Your OpenStack environment now includes Telemetry. You can launch an instance or add more services to your " -"environment in the previous chapters." -msgstr "" -"Seu ambiente OpenStack agora inclui Telemetria. Você pode lançar uma instância ou adicionar mais serviços " -"ao seu ambiente nos capítulos anteriores." - -msgid "" -"Your OpenStack environment now includes the core components necessary to " -"launch a basic instance. You can launch an " -"instance or add more OpenStack services to your environment." -msgstr "" -"Seu ambiente OpenStack agora inclui os componentes centrais necessários ao " -"lançamento de uma instância básica.\n" -"Você pode lançar uma instância ou " -"adicionar mais serviços OpenStack ao seu ambiente." - -msgid "" -"Your OpenStack environment now includes the dashboard. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Seu ambiente OpenStack agora inclui o painel. Você pode lançar uma instância ou adicionar mais serviços " -"ao seu ambiente nos capítulos seguintes." - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"Sua primeira instância utiliza o grupo de segurança default. Por padrão, este grupo de segurança implementa um firewall que " -"bloqueia o acesso remoto para as instâncias. Se você gostaria de permitir o " -"acesso remoto para sua instância, lance-a e então configure o acesso remoto." - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"Sua primeira instância utiliza o grupo de segurança default. Por padrão, este grupo de segurança implementa um firewall que " -"bloqueia o acesso remoto às instâncias. Se você gostaria de permitir acesso " -"remoto à sua instância, lance-a e então configure o acesso remoto." - -msgid "" -"Your first instance uses the demo-net tenant network. " -"However, you must reference this network using the ID instead of the name." -msgstr "" -"Sua primeira instância utiliza a rede tenant demo-net. " -"Contudo, você deve referenciar esta rede utilizando o ID em vez do nome." - -msgid "Your first instance uses the m1.tiny flavor." -msgstr "Sua primeira instância utiliza o sabor m1.tiny." - -msgid "active" -msgstr "active" - -msgid "api-paste.ini" -msgstr "api-paste.ini" - -msgid "ceilometer" -msgstr "ceilometer" - -msgid "cinder" -msgstr "cinder" - -msgid "compute1" -msgstr "compute1" - -msgid "controller" -msgstr "controlador" - -msgid "datastore_manager" -msgstr "datastore_manager" - -msgid "datastore_name" -msgstr "datastore_name" - -msgid "datastore_version" -msgstr "datastore_version" - -msgid "debconf concepts" -msgstr "Conceitos do debconf" - -msgid "demo-instance1" -msgstr "demo-instance1" - -msgid "glance" -msgstr "glance" - -msgid "glance_image_ID" -msgstr "glance_image_ID" - -msgid "glance_image_id" -msgstr "glance_image_id" - -msgid "guest" -msgstr "guest" - -msgid "heat" -msgstr "heat" - -msgid "keystone" -msgstr "keystone" - -msgid "kilo" -msgstr "kilo" - -msgid "name" -msgstr "nome" - -msgid "network" -msgstr "rede" - -msgid "neutron" -msgstr "neutron" - -msgid "nova" -msgstr "nova" - -msgid "openSUSE and SUSE Linux Enterprise Server" -msgstr "openSUSE e SUSE Linux Enterprise Server" - -msgid "packages" -msgstr "packages" - -msgid "swift" -msgstr "swift" - -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -msgid "translator-credits" -msgstr "Gabriel Wainer , 2013" - -msgid "trove" -msgstr "trove" - -msgid "trove-conductor.conf" -msgstr "trove-conductor.conf" - -msgid "trove-taskmanager.conf" -msgstr "trove-taskmanager.conf" - -msgid "trove.conf" -msgstr "trove.conf" - -msgid "version_name" -msgstr "version_name" diff --git a/doc/install-guide/locale/ru.po b/doc/install-guide/locale/ru.po deleted file mode 100644 index 881ad57fb8..0000000000 --- a/doc/install-guide/locale/ru.po +++ /dev/null @@ -1,4601 +0,0 @@ -# -# Translators: -# Ainur Shakirov , 2014 -# Aleksei Dushechkin, 2015 -# Aleksei Dushechkin, 2015 -# Aleksey Rusetskiy , 2015 -# Evgeniya Shumakher, 2013 -# Evgeniya Shumakher, 2013 -# Ilya Alekseyev , 2014 -msgid "" -msgstr "" -"Project-Id-Version: OpenStack Manuals\n" -"POT-Creation-Date: 2015-08-07 21:08+0000\n" -"PO-Revision-Date: 2015-08-07 08:30+0000\n" -"Last-Translator: openstackjenkins \n" -"Language-Team: Russian (http://www.transifex.com/openstack/openstack-manuals-" -"i18n/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" - -msgid "(Optional)" -msgstr "(Дополнительно)" - -msgid "" -"(Optional) To assist with troubleshooting, enable verbose logging in the " -"[DEFAULT] section:" -msgstr "" -"(Дополнительно) Чтобы помочь с поиском нейсправностей, включите более " -"детальное логирование в секции [DEFAULT]:" - -msgid "/" -msgstr "/" - -msgid "/etc//validation-rules.json" -msgstr "/etc//validation-rules.json" - -msgid "160" -msgstr "160" - -msgid "161" -msgstr "161" - -msgid "162" -msgstr "162" - -msgid "163" -msgstr "163" - -msgid "164" -msgstr "164" - -msgid "165" -msgstr "165" - -msgid "166" -msgstr "166" - -msgid "187" -msgstr "187" - -msgid "2012" -msgstr "2012" - -msgid "2013" -msgstr "2013" - -msgid "2014" -msgstr "2014" - -msgid "2015" -msgstr "2015" - -msgid "96" -msgstr "96" - -msgid "" -"python-keystoneclient will automatically be installed as " -"it is a dependency of the keystone package." -msgstr "" -"python-keystoneclient будет автоматически установлен, " -"поскольку от него зависит пакет keystone." - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguide-neutron-initialnetworks.png'; " -"md5=f77c580f44d340221742a6a1ac443b33" -msgstr "" -"@@image: '../common/figures/installguide-neutron-initialnetworks.png'; " -"md5=f77c580f44d340221742a6a1ac443b33" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-hw.png'; " -"md5=256987507b566287c69081c1b1083941" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-hw.png'; " -"md5=256987507b566287c69081c1b1083941" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-networks.png'; " -"md5=e9bc3993ebae65063c83a7fcbe779ad2" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-networks.png'; " -"md5=e9bc3993ebae65063c83a7fcbe779ad2" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-services.png'; " -"md5=bba84d5b30fc9ed13391738d072c376a" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-services.png'; " -"md5=bba84d5b30fc9ed13391738d072c376a" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-hw.png'; " -"md5=2868ba248354a3ff4a4bb5a39e1a6261" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-hw.png'; " -"md5=2868ba248354a3ff4a4bb5a39e1a6261" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-networks.png'; " -"md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-networks.png'; " -"md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-services.png'; " -"md5=5c151372a5eeb4f07c537c37cd956e22" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-services.png'; " -"md5=5c151372a5eeb4f07c537c37cd956e22" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; " -"md5=d534be231be4f725820a1050fbf44231" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; " -"md5=d534be231be4f725820a1050fbf44231" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip." -"png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip." -"png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken." -"png'; md5=1f3b05ebe671f64d672ac70d246e4f39" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken." -"png'; md5=1f3b05ebe671f64d672ac70d246e4f39" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-" -"endpoint_4_service_endpoint_ip_address.png'; " -"md5=6853f0ae2ef8d5fddb22c466d465de15" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-" -"endpoint_4_service_endpoint_ip_address.png'; " -"md5=6853f0ae2ef8d5fddb22c466d465de15" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; " -"md5=a6bce0acf5a1cb85f161290f0cf30733" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; " -"md5=a6bce0acf5a1cb85f161290f0cf30733" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-" -"dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-" -"dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; " -"md5=a77beb7e13b487cf79716c2140f258c2" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; " -"md5=a77beb7e13b487cf79716c2140f258c2" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method." -"png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method." -"png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password." -"png'; md5=873ec338742e37305583e9e692bcfdc6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password." -"png'; md5=873ec338742e37305583e9e692bcfdc6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password." -"png'; md5=3651970770d05892f21d1b5741afbee6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password." -"png'; md5=3651970770d05892f21d1b5741afbee6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-" -"common_6_mysql_app_password_confirm.png'; " -"md5=060cc90aaf6f6fd5cea718064829c1b1" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-" -"common_6_mysql_app_password_confirm.png'; " -"md5=060cc90aaf6f6fd5cea718064829c1b1" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; " -"md5=01af4867c16e458306b8abd78a1fccc9" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; " -"md5=01af4867c16e458306b8abd78a1fccc9" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db." -"png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db." -"png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; " -"md5=78bef92c36a140ad042074f6345d8917" -msgstr "" -"@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; " -"md5=78bef92c36a140ad042074f6345d8917" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; " -"md5=29a51caaf09c3d6e3f0fda73c256a17a" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; " -"md5=29a51caaf09c3d6e3f0fda73c256a17a" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"keystone_2_register_admin_tenant_yes_no.png'; " -"md5=25c9a90b1df2d979aae6ce9975c7285b" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"keystone_2_register_admin_tenant_yes_no.png'; " -"md5=25c9a90b1df2d979aae6ce9975c7285b" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; " -"md5=173cf7ed13252df1425109be588b2ad6" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; " -"md5=173cf7ed13252df1425109be588b2ad6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; " -"md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; " -"md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; " -"md5=e6b32d8d80af90f07a66abc8fb256c84" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; " -"md5=e6b32d8d80af90f07a66abc8fb256c84" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm." -"png'; md5=1fbf9223e4923c93030d53278d1771cc" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm." -"png'; md5=1fbf9223e4923c93030d53278d1771cc" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; " -"md5=d24d84133bfee936267e79631a2666e6" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; " -"md5=d24d84133bfee936267e79631a2666e6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; " -"md5=adf41c33778a691a560b7098908792db" -msgstr "" -"@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; " -"md5=adf41c33778a691a560b7098908792db" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; " -"md5=5353ad857884a2d31847cf82efbdc6b6" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; " -"md5=5353ad857884a2d31847cf82efbdc6b6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; " -"md5=6385185200d20e96b6316ae15ae1255d" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; " -"md5=6385185200d20e96b6316ae15ae1255d" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; " -"md5=33a3c1182e79ed65f1b1b63f2156792c" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; " -"md5=33a3c1182e79ed65f1b1b63f2156792c" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_password.png'; " -"md5=0c30c80315d5e636dbe93a938fc2822b" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_password.png'; " -"md5=0c30c80315d5e636dbe93a938fc2822b" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_tenant_name.png'; " -"md5=a935563e4fba9b00040e35cdcfffc732" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_tenant_name.png'; " -"md5=a935563e4fba9b00040e35cdcfffc732" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_server_hostname.png'; " -"md5=aafd53894e1d960531d4901123952117" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_server_hostname.png'; " -"md5=aafd53894e1d960531d4901123952117" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_tenant_admin_user.png'; " -"md5=fe3dc93c591b3e9783d4d05556efcf25" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_tenant_admin_user.png'; " -"md5=fe3dc93c591b3e9783d4d05556efcf25" - -msgid "" -"A flavor specifies a virtual resource allocation profile which includes " -"processor, memory, and storage." -msgstr "" -"Схема описывает выделение виртуальных ресурсов, которые включают процессор, " -"память и хранилище." - -msgid "" -"A single disk partition on each node works for most basic installations. " -"However, you should consider Logical Volume Manager (LVM) for installations with optional services such as Block Storage." -msgstr "" -"Один дисковый раздел на каждом узле подходит для самых простых инсталляций. " -"Однако, вам стоит рассматривать Logical Volume Manager (LVM) для инсталляций с дополнительными службами, такими как Блочное " -"Хранилище." - -msgid "ADMIN_PASS" -msgstr "ADMIN_PASS" - -msgid "ADMIN_TOKEN" -msgstr "ADMIN_TOKEN" - -msgid "" -"Ability to take periodic \"snap shots\" throughout the installation process " -"and \"roll back\" to a working configuration in the event of a problem." -msgstr "" -"Возможность создавать периодические \"быстрые копии\" во время процесса " -"установки и \"откатываться\" на рабочую конфигурацию в случае проблем." - -msgid "" -"Access the dashboard using a web browser: http://" -"controller/horizonhttps://controller/http://controller/dashboardhttp://controller." -msgstr "" -"Зайдите на панель управления используя веб-обозреватель: http://controller/horizonhttps://controller/http://controller/dashboardhttp://controller." - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network and use the command to verify presence of " -"the volume as the /dev/vdb block storage device:" -msgstr "" -"Войдите в свой инстанс по SSH с управляющего узла или любого хоста во " -"внешней сети и исполните команду , чтобы проверить наличие " -"диска как блочного устройства /dev/vdb:" - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network:" -msgstr "" -"Войдите в ваш инстанс по SSH с управляющего узла или любого хоста во внешней " -"сети:" - -msgid "Add Object Storage" -msgstr "Добавление Объектного Хранилища" - -msgid "" -"Add a [database] section, and configure database access:" -msgstr "" -"Добавьте секцию [database] и настройте доступ до базы " -"данных:" - -msgid "Add a networking component" -msgstr "Добавление сетевых компонент" - -msgid "" -"Add a port to the external bridge that connects to the physical external " -"network interface:" -msgstr "" -"Добавьте порт к внешнему мосту, который соединяется с физическим интерфейсом " -"внешней сети:" - -msgid "Add rules to the default security group:" -msgstr "Добавьте правила в группу безопасности default:" - -msgid "" -"Add the admin role to the ceilometer " -"user." -msgstr "" -"Добавьте роль admin пользователю ceilometer:" - -msgid "" -"Add the admin role to the cinder user:" -msgstr "" -"Добавьте роль admin пользователю cinder:" - -msgid "" -"Add the admin role to the heat user:" -msgstr "" -"Добавьте роль admin пользователю heat:" - -msgid "" -"Add the admin role to the neutron user:" -msgstr "" -"Добавьте роль admin пользователю neutron:" - -msgid "" -"Add the admin role to the nova user:" -msgstr "" -"Добавьте роль admin пользователю nova:" - -msgid "" -"Add the admin role to the swift user:" -msgstr "" -"Добавьте роль admin пользователю swift:" - -msgid "" -"Add the heat_stack_owner role to the demo tenant and user:" -msgstr "" -"Добавьте роль heat_stack_owner арендатору и пользователю " -"demo:" - -msgid "Add the Block Storage service" -msgstr "Добавление службы Блочного Хранилища" - -msgid "Add the Compute service" -msgstr "Добавление службы Вычилений" - -msgid "Add the Data processing service" -msgstr "Добавление службы Обработки Данных" - -msgid "Add the Database service" -msgstr "Добавление службы Баз Данных" - -msgid "Add the Identity service" -msgstr "Добавление службы Идентификации" - -msgid "Add the Orchestration module" -msgstr "Добавление модуля Оркестровки" - -msgid "Add the Telemetry module" -msgstr "Добавление модуля Телеметрии" - -msgid "Add the dashboard" -msgstr "Добавление Панели Управления" - -msgid "Add the external bridge:" -msgstr "Добавьте внешний мост:" - -msgid "Add the public key to your OpenStack environment:" -msgstr "Добавьте публичный ключ к вашей среде OpenStack:" - -msgid "Additional compute nodes should use 10.0.0.32, 10.0.0.33, and so on." -msgstr "" -"Дополнительные вычислительные узлы должны использовать 10.0.0.32, 10.0.0.33, " -"и так далее." - -msgid "Additional compute nodes should use 10.0.1.32, 10.0.1.33, and so on." -msgstr "" -"Дополнительные вычислительные узлы должны использовать 10.0.1.32, 10.0.1.33, " -"и так далее." - -msgid "After you create this file, run this command:" -msgstr "После создания данного файла выполните следующую команду:" - -msgid "" -"After you install and configure the dashboard, you can complete the " -"following tasks:" -msgstr "" -"После установки и настройки панели управления, вы можете выполнить следующие " -"задачи:" - -msgid "Allow all hosts to access the dashboard:" -msgstr "Разрешите всем хостам доступ до панели:" - -msgid "" -"Alternatively, if you do not want to install this package, run this script " -"to enable remote root access:" -msgstr "" -"Если же вы не хотите устанавливать этот пакет, исполните следующий скрипт, " -"чтобы включить удалённый root доступ:" - -msgid "Architecture" -msgstr "Архитектура" - -msgid "" -"As an example, here are screenshots from the cinder-common package:" -msgstr "" -"В качестве примера, вот снимки экрана для пакета cinder-common:" - -msgid "Associate the floating IP address with your instance:" -msgstr "Привяжите внешний IP-адрес к вашему инстансу:" - -msgid "" -"Attach the demo-volume1 volume to the demo-" -"instance1 instance:" -msgstr "" -"Подключите диск demo-volume1 к инстансу demo-" -"instance1:" - -msgid "Attach the router to the demo tenant subnet:" -msgstr "Подключите маршрутизатор к сети арендатора demo:" - -msgid "Attach the router to the external network by setting it as the gateway:" -msgstr "Подключите маршрутизатор к внешней сети, указав её в качестве шлюза:" - -msgid "" -"Authenticate using admin or demo user " -"credentials." -msgstr "" -"Авторизуйтесь, используя данные пользователя admin или " -"demo." - -msgid "Basic environment" -msgstr "Базовая среда" - -msgid "" -"Because most OpenStack services must access the Identity Service, you must " -"configure the IP address of the keystone server to be able to " -"access it. You must also configure the admin_tenant_name, " -"admin_user, and admin_password options for each " -"service to work." -msgstr "" -"Поскольку большинство служб OpenStack должны иметь доступ до службы " -"Идентификации, вам необходимо настроить IP-адрес сервера keystone, чтобы иметь к нему доступ. Вам так же необходимо настроить параметры " -"admin_tenant_name, admin_user и " -"admin_password для каждой службы." - -msgid "" -"Because this configuration uses a SQL database server, you can remove the " -"SQLite database file:" -msgstr "" -"Поскольку эта конфигурация использует сервер баз данных SQL, вы можете " -"удалить файл базы данных SQLite:" - -msgid "" -"Before launching your first instance, you must create the necessary virtual " -"network infrastructure to which the instance will connect. This network " -"typically provides Internet access from instances. You " -"can enable Internet access to individual instances " -"using a floating IP address and suitable " -"security group rules. The admin " -"tenant owns this network because it provides external network access for " -"multiple tenants." -msgstr "" -"Прежде чем запускать ваш первый инстанс, вам необходимо создать виртуальную " -"сетевую инфраструктуру, к которой инстанс будет поключен. Обычно эта сеть " -"предоставляет Интернет доступ из инстансов. Вы можете " -"включить Интернет доступдо инстансов используя " -"внешний IP-адрес и соответствующие правила " -"группы безопасности. Проект admin " -"владеет данной сетью, поскольку она предоставляет доступ во внешнюю сеть для " -"множества арендаторов." - -msgid "Before you begin" -msgstr "Перед началом" - -msgid "" -"Before you configure the OpenStack Identity service, you must create a " -"database and an administration token." -msgstr "" -"Прежде чем настроить службу Идентификации OpenStack, вам необходимо создать " -"базу данных и административный токен." - -msgid "" -"Before you install and configure OpenStack Networking, you must configure " -"certain kernel networking parameters." -msgstr "" -"Прежде чем устанавливать и настраивать Сеть OpenStack, вам необходимо " -"настроить некоторые параметры сети в ядре." - -msgid "" -"Before you proceed, ensure that the controller node has at least several " -"gigabytes of space available in this directory." -msgstr "" -"Прежде чем продолжить, убедитесь, что на управляющем узле есть хотя бы " -"несколько гигабайт свободного места в этой директории." - -msgid "" -"By default in Debian, you can access the MySQL server from either localhost " -"through the socket file or 127.0.0.1. To access it over the network, you " -"must edit the /etc/mysql/my.cnf file, and the " -"mysql.user table. To do so, Debian provides a helper " -"script in the openstack-deploy package. To use it, " -"install the package and run:" -msgstr "" -"По умолчанию в Debian, вы можете войти на сервер MySQL локально либо через " -"файл сокета либо через 127.0.0.1. Для доступа по сети, вам необходимо " -"отредактировать файл /etc/mysql/my.cnf и таблицу " -"mysql.user. Чтобы это сделать, Debian предоставляет " -"скрипт в пакете openstack-deploy. Чтобы его использовать, " -"установите пакет и выполните:" - -msgid "" -"By default, dbconfig-common does not provide access to " -"database servers over a network. If you want the dbconfig-common package to prompt for remote database servers that are accessed " -"over a network and not through a UNIX socket file, reconfigure it, as " -"follows:" -msgstr "" -"По умолчанию пакет dbconfig-common не предоставляет " -"доступ до баз данных по сети. Если вы хотите, чтобы пакет dbconfig-" -"common запрашивал данные удалённых серверов баз данных, доступ до " -"которых осуществляется по сети, а не через сокет файл UNIX, перенастройте " -"его следующим образом:" - -msgid "" -"By default, Compute uses an internal firewall service. Since Networking " -"includes a firewall service, you must disable the Compute firewall service " -"by using the nova.virt.firewall.NoopFirewallDriver " -"firewall driver." -msgstr "" -"По умолчанию, служба Вычислений использует внутреннюю службу фаервола. " -"Поскольку служба Сети включает фаервол, вам необходимо отключить фаервол " -"службы Вычислений, использовав драйвер фаерволаnova.virt.firewall." -"NoopFirewallDriver." - -msgid "" -"By default, SLES and openSUSE use a SQL database for session storage. For " -"simplicity, we recommend changing the configuration to use " -"memcached for session storage." -msgstr "" -"По умолчанию, SLES и openSUSE используют SQL СУБД для хранения сессий. Для " -"простоты, мы рекоммендуем изменить конфигурацию на использование " -"memcached для хранения сессий." - -msgid "" -"By default, distribution packages configure Compute to use legacy " -"networking. You must reconfigure Compute to manage networks through " -"Networking." -msgstr "" -"По умолчанию, пакеты дистрибутива настраивают службу Вычислений на " -"использование старой сети. Вам необходио перенастроить службу Вычислений на " -"управление сетями через службу Сетей." - -msgid "" -"By default, the dbconfig-common package configures the " -"OpenStack services to use SQLite. So if you use debconf " -"in non-interactive mode and without pre-seeding, the OpenStack services that " -"you install will use SQLite." -msgstr "" -"По умолчанию пакет dbconfig-common настраивает службы " -"OpenStack на использование SQLite. Поэтому, если вы используете " -"debconf в неинтерактивном режиме и без предварительной " -"настройки, устанавливаемые службы OpenStack будут использовать SQLite." - -msgid "By default, the Ubuntu packages create a SQLite database." -msgstr "По умолчанию, пакеты Ubuntu создают базу данных SQLite." - -msgid "By default, the Ubuntu packages create an SQLite database." -msgstr "По умолчанию, пакеты Ubuntu создают базу данных SQLite." - -msgid "" -"By default, the controller node synchronizes the time via a pool of public " -"servers. However, you can optionally edit the /etc/ntp.conf file to configure alternative servers such as those provided by " -"your organization." -msgstr "" -"По умолчанию управляющий узел синхронизует время через пул публичных " -"серверов. Однако, вы можете изменить файл /etc/ntp.conf " -"и использовать альтернативные сервера, например те, которые предоставляются " -"вашей организацией." - -msgid "CEILOMETER_DBPASS" -msgstr "CEILOMETER_DBPASS" - -msgid "CEILOMETER_PASS" -msgstr "CEILOMETER_PASS" - -msgid "CINDER_DBPASS" -msgstr "CINDER_DBPASS" - -msgid "CINDER_PASS" -msgstr "CINDER_PASS" - -msgid "Check the status of your floating IP address:" -msgstr "Проверьте статус своего внешнего IP-адреса:" - -msgid "Check the status of your instance:" -msgstr "Проверьте статус инстанса:" - -msgid "Choose a suitable password for the database root account." -msgstr "Выберите подходящий пароль для пользователя root в СУБД." - -msgid "" -"Comment out any auth_host, auth_port, " -"and auth_protocol options because the " -"identity_uri option replaces them." -msgstr "" -"Закомментируйте опции auth_host, auth_port и auth_protocol, поскольку они заменяются опцией " -"identity_uri." - -msgid "Comment out any other session storage configuration." -msgstr "Закомментируйте любые другие настройки хранилища сессии." - -msgid "" -"Comment out or remove all but one server key and change " -"it to reference the controller node." -msgstr "" -"Закоментируйте или удалите все ключи server, кроме " -"одного, и замените его, чтобы использовался управляющий узел." - -msgid "Compute Node: 1 processor, 2 GB memory, and 10 GB storage" -msgstr "Вычислительный узел: 1 процессор, 2 ГБ памяти и 10 ГБ хранилища" - -msgid "Compute node" -msgstr "Вычислительный узел" - -msgid "Conceptual architecture" -msgstr "Концептуальная архитектура" - -msgid "Configure OpenStack with debconf" -msgstr "Настройка OpenStack при помощи debconf" - -msgid "Configure compute node" -msgstr "Настройте вычислительный узел" - -msgid "Configure controller node" -msgstr "Настройте управляющий узел" - -msgid "" -"Configure the memcached session storage service:" -msgstr "" -"Настройте службу хранилища сессий memcached:" - -msgid "" -"Configure the dashboard to use OpenStack services on the " -"controller node:" -msgstr "" -"Настройте панель управления на использование служб OpenStack на узле " -"controller:" - -msgid "Configure the database with dbconfig-common" -msgstr "Настройте базы данных с помощью dbconfig-common" - -msgid "Configure the first interface as the management interface:" -msgstr "Настройте первый интерфейс как управляющий интерфейс:" - -msgid "Configure the initial administration token:" -msgstr "Настройте начальный административный токен:" - -msgid "Configure the management interface:" -msgstr "Настройте управляющий интерфейс:" - -msgid "" -"Configure the network and compute nodes to reference the controller node." -msgstr "" -"Настройте сетевой и вычислительный узлы на использование управляющего узла." - -msgid "Configure the second interface as the instance tunnels interface:" -msgstr "Настройте второй интерфейс как интерфейс для туннелей инстансов:" - -msgid "Configure the web server:" -msgstr "Настройте веб-сервер:" - -msgid "Confirm upload of the image and validate attributes:" -msgstr "Подтвердите загрузку образа и проверьте атрибуты:" - -msgid "Container ring" -msgstr "Кольцо контейнеров" - -msgid "" -"Contents in the condition column should indicate " -"sys.peer for at least one server." -msgstr "" -"Содержимое колонки condition должно быть sys." -"peer хотябы для одного сервера." - -msgid "" -"Contents in the condition column should indicate " -"sys.peer." -msgstr "" -"Содержимое колонки condition должно быть sys." -"peer." - -msgid "" -"Contents in the refid column typically reference IP " -"addresses of upstream servers." -msgstr "" -"Содержимое колонки refid обычно указывает IP-адреса " -"апстрим серверов." - -msgid "" -"Contents in the remote column should indicate the " -"hostname of the controller node." -msgstr "" -"Содержимое колонки remote должно указывать доменное имя " -"управляющего узла." - -msgid "" -"Contents in the remote column should indicate the " -"hostname or IP address of one or more NTP servers." -msgstr "" -"Содержимое колонки remote должно указывать доменное имя " -"или IP-адрес одного или более NTP серверов." - -msgid "Controller Node: 1 processor, 2 GB memory, and 5 GB storage" -msgstr "Управляющий узел: 1 процессор, 2 ГБ памяти и 5 ГБ хранилища" - -msgid "Controller node" -msgstr "Управляющий узел" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node and add the following to it:" -msgstr "" -"Скопируйте содержимое файла /etc/hosts с управляющего " -"узла и добавьте в него следующее:" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node to the storage node and add the following to it:" -msgstr "" -"Скопируйте содержимое файла /etc/hosts с управляющего " -"узла на узел хранения и добавьте в него следующее:" - -msgid "Copyright details are filled in by the template." -msgstr "Сведения об авторском праве заполнены по шаблону." - -msgid "Create OpenStack client environment scripts" -msgstr "Создайте скрипты клиентских сред OpenStack" - -msgid "Create a 1 GB volume:" -msgstr "Создайте 1 ГБ диск:" - -msgid "" -"Create a floating IP address on the ext-net external network:" -msgstr "" -"Создайте внешний IP-адрес во внешней сети " -"ext-net:" - -msgid "Create a cinder user:" -msgstr "Создайте пользователя cinder:" - -msgid "" -"Create and edit the /etc/neutron/dnsmasq-neutron.conf " -"file and complete the following action:" -msgstr "" -"Создайте и заполните файл /etc/neutron/dnsmasq-neutron.conf следующим образом:" - -msgid "Create database schema: " -msgstr "Создайте схему базы данных: " - -msgid "Create initial network" -msgstr "Создайте первоначальную сеть" - -msgid "Create initial networks" -msgstr "Создайте начальные сети" - -msgid "Create the /etc/swift directory." -msgstr "Создайте директорию /etc/swift." - -msgid "Create the admin role:" -msgstr "Создайте роль admin:" - -msgid "Create the admin tenant and user:" -msgstr "Создайте арендатора и пользователя admin:" - -msgid "Create the admin user:" -msgstr "Создайте пользователя admin:" - -msgid "Create the ceilometer database:" -msgstr "Создайте базу данных ceilometer:" - -msgid "Create the ceilometer service entity:" -msgstr "Создайте сервисный объект ceilometer:" - -msgid "Create the ceilometer user:" -msgstr "Создайте пользователя ceilometer:" - -msgid "Create the cinder database:" -msgstr "Создайте базу данных cinder:" - -msgid "Create the cinder service entities:" -msgstr "Создайте сервисные объекты cinder:" - -msgid "Create the glance database:" -msgstr "Создайте базу данных glance:" - -msgid "Create the glance service entity:" -msgstr "Создайте сервисный объект glance." - -msgid "Create the glance user:" -msgstr "Создайте пользователя glance:" - -msgid "" -"Create the heat and heat-cfn service " -"entities:" -msgstr "" -"Создайте сервисные объекты heat и heat-cfn:" - -msgid "Create the heat database:" -msgstr "Создайте базу данных heat:" - -msgid "Create the heat user:" -msgstr "Создайте пользователя heat:" - -msgid "Create the heat_stack_owner role:" -msgstr "Создайте роль heat_stack_owner:" - -msgid "Create the heat_stack_user role:" -msgstr "Создайте роль heat_stack_user:" - -msgid "Create the keystone database:" -msgstr "Создайте базу данных keystone:" - -msgid "Create the neutron database:" -msgstr "Создайте базу данных neutron:" - -msgid "Create the neutron service entity:" -msgstr "Создайте сервисный объект neutron:" - -msgid "Create the neutron user:" -msgstr "Создайте пользователя neutron:" - -msgid "Create the nova database:" -msgstr "Создайте базу данных nova:" - -msgid "Create the nova service entity:" -msgstr "Создайте сервисный объект nova:" - -msgid "Create the nova user:" -msgstr "Создайте пользователя nova:" - -msgid "" -"Create the recon directory and ensure proper ownership of " -"it:" -msgstr "" -"Создайте директорию recon и установите ей корректного " -"владельца:" - -msgid "Create the swift service entity:" -msgstr "Создайте сервисный объект swift:" - -msgid "Create the swift user:" -msgstr "Создайте пользователя swift:" - -msgid "Create the Identity service endpoints" -msgstr "Создайте точки доступа для сервиса Identity" - -msgid "Create the LVM physical volume /dev/sdb1:" -msgstr "Создайте физический раздел LVM /dev/sdb1:" - -msgid "Create the LVM volume group cinder-volumes:" -msgstr "Создайте группу дисков LVM cinder-volumes:" - -msgid "Create the network:" -msgstr "Создайте сеть:" - -msgid "Create the router:" -msgstr "Создать маршрутизатор:" - -msgid "Create the service entity and API endpoint" -msgstr "Создайте объект для сервиса и точку доступа API" - -msgid "Create the service entity for the Identity service:" -msgstr "Создайте сервисный объект для сервиса Identity:" - -msgid "Create the subnet:" -msgstr "Создайте подсеть:" - -msgid "DBNAME" -msgstr "DBNAME" - -msgid "DEMO_NET_ID" -msgstr "DEMO_NET_ID" - -msgid "DEMO_PASS" -msgstr "DEMO_PASS" - -msgid "DEVICE_NAME" -msgstr "DEVICE_NAME" - -msgid "DEVICE_WEIGHT" -msgstr "DEVICE_WEIGHT" - -msgid "" -"Database population occurs later for Networking because the script requires " -"complete server and plug-in configuration files." -msgstr "" -"Заполнение базы данных происходит позже для службы Сети, поскольку скрипт " -"требует заполненных файлов настроек сервера и плагинов." - -msgid "Debian 7" -msgstr "Debian 7" - -msgid "Debian does not use a separate ML2 plug-in package." -msgstr "Debian не использует отдельный пакет для плагина ML2." - -msgid "Default gateway: 10.0.0.1" -msgstr "Маршрут по умолчанию: 10.0.0.1" - -msgid "" -"Depending on your network interface driver, you may need to disable " -"generic receive offload (GRO) to achieve suitable " -"throughput between your instances and the external network." -msgstr "" -"В зависимости от драйвера вашей сетевой платы, вам может потребоваться " -"отключить generic receive offload (GRO) для получения " -"подходящей пропускной способности между вашими инстансами и внешней сетью." - -msgid "Description" -msgstr "Описание" - -msgid "" -"Determine whether your compute node supports hardware acceleration for " -"virtual machines:" -msgstr "" -"Определите, поддерживает ли ваш вычислительный узел аппаратное ускорение для " -"виртуальных машин:" - -msgid "" -"Disable or remove any automatic update services because they can impact your " -"OpenStack environment." -msgstr "" -"Отключите или удалите все службы автоматического обновления, поскольку они " -"могут повлиять на вашу среду OpenStack." - -msgid "" -"Distributions release OpenStack packages as part of the distribution or " -"using other methods because of differing release schedules. Perform these " -"procedures on all nodes." -msgstr "" -"Дистрибутивы выпускают пакеты OpenStack как часть дистрибутива или используя " -"другие методы из-за различных графиков выпуска. Выполните эти действия на " -"всех узлах." - -msgid "" -"Do not change the HWADDR and UUID keys." -msgstr "" -"Не изменяйте ключи HWADDR и UUID." - -msgid "" -"Due to a packaging bug, the Open vSwitch agent initialization script " -"explicitly looks for the Open vSwitch plug-in configuration file rather than " -"a symbolic link /etc/neutron/plugin.ini pointing to the " -"ML2 plug-in configuration file. Run the following commands to resolve this " -"issue:" -msgstr "" -"Из-за ошибка в пакете, скрипт инициализации агента Open vSwitch ищет файлт " -"конфигурации плагина Open vSwitch вместо символической ссылки /etc/" -"neutron/plugin.ini, указывающей на файл настройки плагина ML2. " -"Исполните следующую команду для решения этой проблемы:" - -msgid "" -"Due to a packaging bug, the dashboard CSS fails to load properly. Run the " -"following command to resolve this issue:" -msgstr "" -"Из-за ошибки в пакете, CSS панели управления не загружается корректно. " -"Исполните следующую команду для решения этой проблемы:" - -msgid "" -"During the final stage of the package installation, it is possible to " -"automatically create an admin tenant and an admin user. This can later be " -"used for other OpenStack services to contact the Identity service. This is " -"the equivalent of running the below commands:" -msgstr "" -"На последней стадии установки пакета есть возможность автоматически создать " -"арендатора и пользователя admin. Позже они будут использоваться другими " -"службами OpenStack для связи со службой Идентификации. Это эквивалентно " -"исполнению следующих команд:" - -msgid "EXTERNAL_NETWORK_CIDR" -msgstr "EXTERNAL_NETWORK_CIDR" - -msgid "EXTERNAL_NETWORK_GATEWAY" -msgstr "EXTERNAL_NETWORK_GATEWAY" - -msgid "" -"Each router has one gateway that connects to a network, and many interfaces " -"connected to subnets. Subnets can access machines on other subnets connected " -"to the same router." -msgstr "" -"Каждый маршрутизатор имеет один шлюз, подключенный к сети, и множество " -"интерфейсов, подключенных к подсетям. Из подсетей есть доступ к машинам в " -"других подсетях, подключенных к одному маршртутизатору." - -msgid "" -"Edit the /etc/ceilometer/ceilometer.conf file and " -"complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/ceilometer/ceilometer.conf " -"следующим образом:" - -msgid "" -"Edit the /etc/cinder/cinder.conf file and complete the " -"following actions:" -msgstr "" -"Отредактируйте файл /etc/cinder/cinder.conf следующим " -"образом:" - -msgid "" -"Edit the /etc/default/rsync file and enable the " -"rsync service:" -msgstr "" -"Отредактируйте файл /etc/default/rsync и включите " -"службу rsync:" - -msgid "" -"Edit the /etc/fstab file and add the following to it:" -msgstr "Добавьте в файл /etc/fstab следующее:" - -msgid "" -"Edit the /etc/glance/glance-api.conf file and complete " -"the following actions:" -msgstr "" -"Отредактируйте файл /etc/glance/glance-api.conf " -"следующим образом:" - -msgid "" -"Edit the /etc/glance/glance-registry.conf file and " -"complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/glance/glance-registry.conf " -"следующим образом:" - -msgid "" -"Edit the /etc/heat/heat.conf file and complete the " -"following actions:" -msgstr "" -"Отредактируйте файл /etc/heat/heat.conf следующим " -"образом:" - -msgid "Edit the /etc/hosts file to contain the following:" -msgstr "" -"Отредактируйте файл /etc/hosts, чтобы он содержал " -"следующее:" - -msgid "" -"Edit the /etc/keystone/keystone.conf file and complete " -"the following actions:" -msgstr "" -"Отредактируйте файл /etc/keystone/keystone.conf " -"следующим образом:" - -msgid "" -"Edit the /etc/mongodb.conf file and complete the " -"following actions:" -msgstr "" -"Отредактируйте файл /etc/mongodb.conf следующим образом:" - -msgid "" -"Edit the /etc/network/interfaces file to contain the " -"following:" -msgstr "" -"Отредактируйте файл /etc/network/interfaces, чтобы он " -"содержал следующее:" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following action:" -msgstr "" -"Отредактируйте файл /etc/neutron/dhcp_agent.ini " -"следующим образом:" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following actions:" -msgstr "" -"Отредактируйте файл /etc/neutron/dhcp_agent.ini " -"следующим образом:" - -msgid "" -"Edit the /etc/neutron/l3_agent.ini file and complete " -"the following actions:" -msgstr "" -"Отредактируйте файл /etc/neutron/l3_agent.ini следующим " -"образом:" - -msgid "" -"Edit the /etc/neutron/metadata_agent.ini file and " -"complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/neutron/metadata_agent.ini " -"следующим образом:" - -msgid "" -"Edit the /etc/neutron/neutron.conf file and complete " -"the following actions:" -msgstr "" -"Отредактируйте файл /etc/neutron/neutron.conf следующим " -"образом:" - -msgid "" -"Edit the /etc/neutron/plugins/ml2/ml2_conf.ini file and " -"complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/neutron/plugins/ml2/ml2_conf.ini следующим образом:" - -msgid "" -"Edit the /etc/nova/nova.conf file and complete the " -"following actions:" -msgstr "" -"Отредактируйте файл /etc/nova/nova.conf следующим " -"образом:" - -msgid "" -"Edit the /etc/ntp.conf file and add, change, or remove " -"the following keys as necessary for your environment:" -msgstr "" -"Отредактируйте файл /etc/ntp.conf, добавив, изменив или " -"удалив по необходимости следующие ключи в соответствии с требованиями вашей " -"среды:" - -msgid "Edit the /etc/ntp.conf file:" -msgstr "Отредактируйте файл /etc/ntp.conf:" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings.py " -"file and complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/openstack-dashboard/local_settings.py следующим образом:" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings file " -"and complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/openstack-dashboard/local_settings следующим образом:" - -msgid "" -"Edit the /etc/rsyncd.conf file and add the following to " -"it:" -msgstr "" -"Отредактируйте файл /etc/rsyncd.conf и добавьте " -"следующее:" - -msgid "" -"Edit the /etc/swift/account-server.conf file and " -"complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/swift/account-server.conf " -"следующим образом:" - -msgid "" -"Edit the /etc/swift/container-server.conf file and " -"complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/swift/container-server.conf " -"следующим образом:" - -msgid "" -"Edit the /etc/swift/object-server.conf file and " -"complete the following actions:" -msgstr "" -"Отредактируйте файл /etc/swift/object-server.conf " -"следующим образом:" - -msgid "" -"Edit the /etc/swift/proxy-server.conf file and complete " -"the following actions:" -msgstr "" -"Отредактируйте файл /etc/swift/proxy-server.conf " -"следующим образом:" - -msgid "" -"Edit the /etc/swift/swift.conf file and complete the " -"following actions:" -msgstr "" -"Отредактируйте файл /etc/swift/swift.conf следующим " -"образом:" - -msgid "" -"Edit the /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME file to contain the " -"following:" -msgstr "" -"Отредактируйте файл /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME, чтобы он содержал " -"следующее:" - -msgid "" -"Edit the /etc/sysconfig/network/ifcfg-INTERFACE_NAME file to contain the following:" -msgstr "" -"Отредактируйте файл /etc/sysconfig/network/ifcfg-" -"INTERFACE_NAME, чтобы он содержал " -"следующее:" - -msgid "" -"Edit the /etc/sysctl.conf file to contain the following " -"parameters:" -msgstr "" -"Отредактируйте файл /etc/sysctl.conf, чтобы он содержал " -"следующие параметры:" - -msgid "" -"Edit the /srv/www/openstack-dashboard/openstack_dashboard/local/" -"local_settings.py file and complete the following actions:" -msgstr "" -"Отредактируйте файл /srv/www/openstack-dashboard/" -"openstack_dashboard/local/local_settings.py следующим образом:" - -msgid "" -"Edit the admin-openrc.sh file and add the following " -"content:" -msgstr "" -"Отредактируйте файл admin-openrc.sh и добавьте " -"следующее:" - -msgid "" -"Edit the demo-openrc.sh file and add the following " -"content:" -msgstr "" -"Отредактируйте файл demo-openrc.sh и добавьте следующее:" - -msgid "" -"Edit the [libvirt] section in the /etc/nova/nova-compute.conf/etc/nova/nova.conf file as follows:" -msgstr "" -"Отредактируйте секцию [libvirt] в файле /etc/nova/nova-compute.conf/etc/nova/nova.conf следующим " -"образом:" - -msgid "Enable the DHCP MTU option (26) and configure it to 1454 bytes:" -msgstr "Включите параметр DHCP MTU (26) и установите его в 1454 байта:" - -msgid "" -"Enable the Open Build Service repositories based on your openSUSE or SLES " -"version:" -msgstr "" -"Подключите репозитории Open Build Service в соответствии с вашей версией " -"openSUSE или SLES:" - -msgid "Ensure the kernel module nbd is loaded." -msgstr "Убедитесь, что модуль ядра nbd загружен." - -msgid "Example architectures" -msgstr "Примеры архитектур" - -msgid "Example using 192.168.1.0/24:" -msgstr "Пример с использованием 192.168.1.0/24:" - -msgid "Exit the database access client." -msgstr "Закройте клиент баз данных." - -msgid "External network" -msgstr "Внешняя сеть" - -msgid "External on 203.0.113.0/24 with gateway 203.0.113.1" -msgstr "Внешняя на 203.0.113.0/24 со шлюзом 203.0.113.1" - -msgid "FILE" -msgstr "FILE" - -msgid "FLOATING_IP_END" -msgstr "FLOATING_IP_END" - -msgid "FLOATING_IP_START" -msgstr "FLOATING_IP_START" - -msgid "Fedora does not require this package." -msgstr "Fedora не трубется этот пакет." - -msgid "Fedora does not require this repository." -msgstr "Fedora не требуется этот репозиторий." - -msgid "" -"For OpenStack services, this guide uses SERVICE_PASS to reference service account passwords and " -"SERVICE_DBPASS to reference database passwords." -msgstr "" -"Для служб OpenStack, это руководство использует SERVICE_PASS для указания пароля служебного аккаунта и " -"SERVICE_DBPASS для указания пароля базы данных." - -msgid "" -"For best performance, we recommend that your environment meets or exceeds " -"the hardware requirements in or . However, OpenStack does not require a significant " -"amount of resources and the following minimum requirements should support a " -"proof-of-concept environment with core services and several " -"CirrOS instances:" -msgstr "" -"Для лучшей производительности, мы рекомендуем, чтобы ваша среда " -"удовлетворяла следующим аппаратным требованиям в или . Однако, OpenStack не требует " -"значительных ресурсов и следующие минимальные требования должны поддерживать " -"достаточную среду с основными сервисами и несколькими инстансами " -"CirrOS:" - -msgid "" -"For example, using 203.0.113.0/24 with floating IP " -"address range 203.0.113.101 to 203.0.113.200:" -msgstr "" -"Например, используя 203.0.113.0/24 со статичным " -"диапазоном IP-адресов от 203.0.113.101 до " -"203.0.113.200:" - -msgid "" -"For the restrict keys, you essentially remove the " -"nopeer and noquery options." -msgstr "" -"Для ключей restrict вы, по существу, удаляете только " -"параметры nopeer и noquery." - -msgid "" -"From the compute node, a site on the " -"Internet:" -msgstr "" -"С управляющего узла сделайте сайта в " -"интернете:" - -msgid "" -"From the compute node, the instance " -"tunnels interface on the network node:" -msgstr "" -"С вычислительного узла сделайте " -"интерфейса туннелей на сетевом узле:" - -msgid "" -"From the compute node, the management " -"interface on the controller node:" -msgstr "" -"С вычислительного узла сделайте " -"управляющего интерфейса на управляющем узле:" - -msgid "" -"From the controller node, a site on " -"the Internet:" -msgstr "" -"С управляющего узла сделайте сайта в " -"интернете." - -msgid "" -"From the controller node, the " -"management interface on the compute node:" -msgstr "" -"С управляющего узла сделайте " -"управляющего интерфейса на вычислительном узле:" - -msgid "" -"From the controller node, the " -"management interface on the network node:" -msgstr "" -"С управляющего узла сделайте " -"управляющего интерфейса на сетевом узле:" - -msgid "" -"From the network node, a site on the " -"Internet:" -msgstr "" -"С сетевого узла сделайте сайта в " -"интернете:" - -msgid "" -"From the network node, the instance " -"tunnels interface on the compute node:" -msgstr "" -"С сетевого узла сделайте интерфейса " -"туннелей на вычислительном узле:" - -msgid "" -"From the network node, the management " -"interface on the controller node:" -msgstr "" -"С сетевого узла сделайте управляющего " -"интерфейса на управляющем узле:" - -msgid "GLANCE_DBPASS" -msgstr "GLANCE_DBPASS" - -msgid "GLANCE_PASS" -msgstr "GLANCE_PASS" - -msgid "Generally, this section looks like this:" -msgstr "Обычно этот раздел выглядит так:" - -msgid "Generate a key pair:" -msgstr "Сгенерируйте пару ключей:" - -msgid "" -"Generate a random value to use as the administration token during initial " -"configuration:" -msgstr "" -"Создайте случайную строку для использования в качестве административного " -"токена для первоначальной настройки:" - -msgid "Grant proper access to the cinder database:" -msgstr "" -"Предоставьте надлежащие права доступа до базы cinder:" - -msgid "Grant proper access to the glance database:" -msgstr "" -"Предоставьте надлежащие права доступа до базы glance:" - -msgid "Grant proper access to the heat database:" -msgstr "Предоставьте надлежащие права доступа до базы heat:" - -msgid "Grant proper access to the keystone database:" -msgstr "" -"Предоставьте надлежащие права доступа до базы keystone:" - -msgid "Grant proper access to the neutron database:" -msgstr "" -"Предоставьте надлежащие права доступа до базы neutron:" - -msgid "Grant proper access to the nova database:" -msgstr "Предоставьте надлежащие права доступа до базы nova:" - -msgid "HASH_PATH_PREFIX" -msgstr "HASH_PATH_PREFIX" - -msgid "HASH_PATH_SUFFIX" -msgstr "HASH_PATH_SUFFIX" - -msgid "HEAT_DBPASS" -msgstr "HEAT_DBPASS" - -msgid "HEAT_PASS" -msgstr "HEAT_PASS" - -msgid "Horizon enables you to customize the brand of the dashboard." -msgstr "Horizon позволяет вам настроить оформление панели." - -msgid "" -"Horizon provides a set of core classes and reusable templates and tools." -msgstr "" -"Horizon предоставляет набор основных классов и настраиваемых шаблонов и " -"инструментов." - -msgid "" -"However, VMs will reduce performance of your instances, particularly if your " -"hypervisor and/or processor lacks support for hardware acceleration of " -"nested VMs." -msgstr "" -"Однако, ВМ уменьшают производительность ваших инстансов OpenStack, особенно " -"если ваш гипервизор и/или процессор не поддерживают аппаратное ускорение " -"вложенных ВМ." - -msgid "ID" -msgstr "ID" - -msgid "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" -msgstr "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" - -msgid "INTERFACE_NAME" -msgstr "INTERFACE_NAME" - -msgid "IP address: 10.0.0.11" -msgstr "IP-адрес: 10.0.0.11" - -msgid "IP address: 10.0.0.21" -msgstr "IP-адрес: 10.0.0.21" - -msgid "IP address: 10.0.0.31" -msgstr "IP-адрес: 10.0.0.31" - -msgid "IP address: 10.0.0.41" -msgstr "IP-адрес: 10.0.0.41" - -msgid "IP address: 10.0.0.51" -msgstr "IP-адрес: 10.0.0.51" - -msgid "IP address: 10.0.0.52" -msgstr "IP-адрес: 10.0.0.52" - -msgid "IP address: 10.0.1.21" -msgstr "IP-адрес: 10.0.1.21" - -msgid "IP address: 10.0.1.31" -msgstr "IP-адрес: 10.0.1.31" - -msgid "" -"Ideally, you can prevent these problems by enabling jumbo frames on the physical network that " -"contains your tenant virtual networks. Jumbo frames support MTUs up to " -"approximately 9000 bytes which negates the impact of GRE overhead on virtual " -"networks. However, many network devices lack support for jumbo frames and " -"OpenStack administrators often lack control over network infrastructure. " -"Given the latter complications, you can also prevent MTU problems by " -"reducing the instance MTU to account for GRE overhead. Determining the " -"proper MTU value often takes experimentation, but 1454 bytes works in most " -"environments. You can configure the DHCP server that assigns IP addresses to " -"your instances to also adjust the MTU." -msgstr "" -"В идеале, вы можете предотвратить эти проблемы включив jumbo frames в физической сети, которая содержит " -"виртуальные сети арендаторов. Jumbo frames поддерживают MTU до " -"приблизительно 9000 байт, что сводит на нет накладные расходы GRE в " -"виртуальных сетях. Однако, многие сетевые устройства не поддерживают jumbo " -"frames и администраторы OpenStack зачастую не имеют контроля над сетевой " -"инфраструктурой. Учитывая упомянутые сложности, вы можете предотвратить " -"проблемы с MTU уменьшив MTU инстансов с учётом затрат на GRE. Вычисление " -"правильного значения MTU часто требует экспериментирования, но значение в " -"1454 байт работает в большинстве случаев. Вы можете настроить DHCP сервер, " -"который назначает IP-адресы вашим инстансам так же назначать MTU." - -msgid "" -"If the upgrade process includes a new kernel, reboot your system to activate " -"it." -msgstr "" -"Если обновление включает новое ядро, перезагрузите систему, чтобы " -"задействовать его." - -msgid "" -"If the web browser to access remote consoles resides on a host that cannot " -"resolve the controller hostname, you must replace " -"controller with the management interface IP " -"address of the controller node." -msgstr "" -"Если веб браузер, которым вы хотите подключиться к удалённым консолям, " -"находится на хосте, который не может распознать имя controller, вам необходимо заменить controller " -"на IP-адрес управляющего интерфейса управляющего узла." - -msgid "" -"If this command returns a value of one or greater, your " -"compute node supports hardware acceleration which typically requires no " -"additional configuration." -msgstr "" -"Если эта команда вернула значение единица или больше, " -"то ваш вычислительный узел поддерживает аппаратное ускорение, что обычно не " -"требует дополнительной настройки." - -msgid "" -"If this command returns a value of zero, your compute " -"node does not support hardware acceleration and you must configure " -"libvirt to use QEMU instead of KVM." -msgstr "" -"Если эта команда вернула значение ноль, то ваш " -"вычислительный узел не поддерживает аппаратное ускорение и вым необходимо " -"настроить libvirt на использование QEMU вместо KVM." - -msgid "" -"If you are building your OpenStack nodes as virtual machines, you must " -"configure the hypervisor to permit promiscuous mode on the external network." -msgstr "" -"Если вы строите свои узлы OpenStack на виртуальных машинах, вам необходимо " -"настроить гипервизор на разрешение смешанного режима для внешней сети." - -msgid "" -"If you choose to install on VMs, make sure your hypervisor permits " -"promiscuous mode and disables MAC address filtering " -"on the external network." -msgstr "" -"Если вы решите устанавливаться на ВМ, убедитесь, что ваш гипервизор " -"позволяет смешанный режим и отключена фильтрация MAC " -"адресов на внешней сети." - -msgid "" -"If you decide to not use , then you will have to create the " -"database and manage its access rights yourself, and run the following by " -"hand." -msgstr "" -"Если вы решите не использовать , тогда вам потребуется " -"создать базу данных и настроить права доступа до неё самостоятельно, " -"выполнив следующие команды вручную." - -msgid "" -"If your environment includes the Block Storage service, you can attach a " -"volume to the instance." -msgstr "" -"Если ваша среда включает службу Блочного Хранилища, вы можете подключить " -"диск к инстансу." - -msgid "" -"If your host does not contain the public/private key pair created in an " -"earlier step, SSH prompts for the default password associated with the " -"cirros user." -msgstr "" -"Если на вашем хосте нет пары открытого/закрытого ключа, созданной на прошлом " -"шаге, SSH запросит стандартный пароль, ассоциированный с пользователем " -"cirros." - -msgid "" -"If your storage nodes use LVM on the operating system disk, you must also " -"add the associated device to the filter. For example, if the /dev/" -"sda device contains the operating system:" -msgstr "" -"Если ваши узлы хранения используют LVM на диске с операционной системой, вам " -"так же необходимо добавить соответствующее устройство в фильтр. Например, " -"если устройство /dev/sda содержит операционную систему:" - -msgid "" -"If your system uses a different device name, adjust these steps accordingly." -msgstr "" -"Если ваша система использует другое имя устройства, измените шаги " -"соответственно." - -msgid "" -"If your web browser runs on a host that cannot resolve the " -"controller host name, you can replace " -"controller with the IP address of the management " -"interface on your controller node." -msgstr "" -"Если ваш веб браузер находится на хосте, который не может определить " -"controller по имени, вы можете заменить " -"controller на IP-адрес управляющего сети на вашем " -"управляющем узле." - -msgid "Implement the changes:" -msgstr "Примените изменения:" - -msgid "" -"In Debian, the Keystone package offers automatic registration of Keystone in " -"the service catalogue. This is equivalent of running the below commands:" -msgstr "" -"В Debian, пакет Keystone предлагает автоматическую регистрацию службы " -"Keystone в службе каталогов. Это эквивалентно исполнению следующих команд:" - -msgid "" -"In the [DEFAULT] and [keystone_authtoken] sections, configure Identity service access:" -msgstr "" -"В секциях [DEFAULT] и [keystone_authtoken] настройте доступ до службы идентификации:" - -msgid "" -"In the [DEFAULT] section, configure access parameters:" -msgstr "В секции [DEFAULT] настройте параметры доступа:" - -msgid "" -"In the [DEFAULT] section, configure notifications and " -"RabbitMQ message broker access:" -msgstr "" -"В секции [DEFAULT] настройте оповещения и доступ до " -"брокера сообщений RabbitMQ:" - -msgid "" -"In the [DEFAULT] section, configure the APIs and drivers:" -msgstr "" -"В секции [DEFAULT], настройте API и драйвера:" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option to use the management interface IP address of the controller " -"node:" -msgstr "" -"В секции [DEFAULT] настройте параметр my_ip на использование IP-адреса интерфейса управляющей сети на " -"управляющем узле:" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option:" -msgstr "" -"В секции [DEFAULT] настройте параметр my_ip:" - -msgid "" -"In the [DEFAULT] section, configure the noop notification driver to disable notifications because they only " -"pertain to the optional Telemetry service:" -msgstr "" -"В секции [DEFAULT] настройте драйвер оповещений " -"noop, чтобы отключить оповещения, поскольку они относятся " -"только к необязательной службе Телеметрии:" - -msgid "" -"In the [DEFAULT] section, configure the VNC proxy to use " -"the management interface IP address of the controller node:" -msgstr "" -"В секции [DEFAULT] настройте VNC-прокси на использование " -"IP-адреса интерфейса управляющей сети управляющего узла:" - -msgid "" -"In the [DEFAULT] section, configure the metadata host:" -msgstr "В секции [DEFAULT] настройте узел метаданных:" - -msgid "" -"In the [DEFAULT] section, configure the metadata proxy " -"shared secret:" -msgstr "" -"В секции [DEFAULT] настройте общий секрет для прокси " -"метаданных:" - -msgid "" -"In the [DEFAULT] section, configure the network and " -"security group APIs:" -msgstr "" -"В секции [DEFAULT] настройте API сети и групп " -"безопасности:" - -msgid "" -"In the [DEFAULT] section, configure the network " -"parameters:" -msgstr "В секции [DEFAULT] настройте параметры сети:" - -msgid "" -"In the [DEFAULT] section, define the value of the initial " -"administration token:" -msgstr "" -"В секции [DEFAULT], задайте значение начального " -"административного токена:" - -msgid "" -"In the [DEFAULT] section, enable and configure remote " -"console access:" -msgstr "" -"В секции [DEFAULT] включите и настройте доступ до " -"удалённых консолей:" - -msgid "" -"In the [DEFAULT] section, enable the dnsmasq configuration file:" -msgstr "" -"В секции [DEFAULT] включите файл настройки " -"dnsmasq:" - -msgid "" -"In the [DEFAULT] section, enable the Modular Layer 2 " -"(ML2) plug-in, router service, and overlapping IP addresses:" -msgstr "" -"В секции [DEFAULT], включить плагин Modular Layer 2 " -"(ML2), службу маршрутизации и перекрывающиеся IP адреса:" - -msgid "In the [agent] section, enable GRE tunnels:" -msgstr "В секции [agent], включите туннели GRE:" - -msgid "" -"In the [database] section, comment out any " -"connection options because compute nodes do not directly " -"access the database." -msgstr "" -"В секции [database], закомментируйте все параметры " -"connection, поскольку вычислительные узлы не соединяются " -"с базой данных напрямую." - -msgid "" -"In the [database] section, comment out any " -"connection options because network nodes do not directly " -"access the database." -msgstr "" -"В секции [database], закомментируйте все параметры " -"connection, поскольку сетевые узлы не соединяются с базой " -"данных напрямую." - -msgid "" -"In the [database] section, configure database access:" -msgstr "" -"В секции [database], настройте доступ до базы данных:" - -msgid "" -"In the [glance_store] section, configure the local file " -"system store and location of image files:" -msgstr "" -"В секции [glance_store] настройте хранилище на локальной " -"файловой системе и расположение файлов образов:" - -msgid "" -"In the [keystone_authtoken] and [paste_deploy] sections, configure Identity service access:" -msgstr "" -"В секциях [keystone_authtoken] и [paste_deploy] настройте доступ до службы Идентификации:" - -msgid "" -"In the [keystone_authtoken] section, configure Identity " -"service access:" -msgstr "" -"В секции [keystone_authtoken], настройте доступ до службы " -"Идентификаци:" - -msgid "" -"In the [ml2_type_flat] section, configure the external " -"flat provider network:" -msgstr "" -"В секции [ml2_type_flat], настройте внешнюю плоскую сеть " -"провайдера:" - -msgid "" -"In the [ml2_type_gre] section, configure the tunnel " -"identifier (id) range:" -msgstr "" -"В секции [ml2_type_gre], настройте диапозон " -"идентификаторов (id) туннелей:" - -msgid "" -"In the [mysqld] section, set the bind-address key to the management IP address of the controller node to enable " -"access by other nodes via the management network:" -msgstr "" -"В секции [mysqld], назначьте ключу bind-address IP адрес Управляющего узла, чтобы дать доступ другим узлам через " -"управляющую сеть:" - -msgid "" -"In the [mysqld] section, set the following keys to enable " -"useful options and the UTF-8 character set:" -msgstr "" -"В секции [mysqld], задайте следующие параметры, чтобы " -"включить полезные возможности и поддержку UTF-8:" - -msgid "" -"In the [neutron] section, configure access parameters:" -msgstr "В секции [neutron], настройте параметры доступа:" - -msgid "" -"In the [neutron] section, enable the metadata proxy and " -"configure the secret:" -msgstr "" -"В секции [neutron] включите прокси метаданных и настройте " -"секрет:" - -msgid "" -"In the [ovs] section, enable tunnels and configure the " -"local tunnel endpoint:" -msgstr "" -"В секции [ovs] включите туннели и настройте точку доступа " -"локального туннеля:" - -msgid "" -"In the [ovs] section, enable tunnels, configure the local " -"tunnel endpoint, and map the external flat provider network to the " -"br-ex external network bridge:" -msgstr "" -"В секции [ovs], включите туннели, настройте точки доступа " -"локальных туннелей и направьте внешнюю плоскую сеть провайдера на внешний " -"сетевой мост br-ex:" - -msgid "" -"In the [revoke] section, configure the SQL revocation " -"driver:" -msgstr "В секции [revoke], настройте SQL драйвер отзыва:" - -msgid "" -"In the [securitygroup] section, enable security groups, " -"enable ipset, and configure the OVS " -"iptables firewall driver:" -msgstr "" -"В секции [securitygroup], включите группы безопасности, " -"включите ipset и настройте драйвер OVS фаерволла " -"iptables:" - -msgid "" -"In the [service_credentials] section, configure service " -"credentials:" -msgstr "" -"В секции [service_credentials], настройте учётные данные " -"службы:" - -msgid "Initial networks" -msgstr "Начальные сети" - -msgid "Install and configure" -msgstr "Установка и настройка" - -msgid "Install and configure a compute node" -msgstr "Установка и настройка вычислительного узла" - -msgid "Install and configure a storage node" -msgstr "Установка и настройка узла хранилища" - -msgid "Install and configure compute node" -msgstr "Установка и настройка Вычислительного узла" - -msgid "Install and configure controller node" -msgstr "Установка и настройка Управляющего узла" - -msgid "Install and configure network node" -msgstr "Установка и настройка сетевого узла" - -msgid "Install required packages:" -msgstr "Установите необходимые пакеты:" - -msgid "Install the Data processing service" -msgstr "Установка службы Обработки Данных" - -msgid "Install the Debian Wheezy OpenStack repository for Juno:" -msgstr "Установите репозитории OpenStack Juno под Debian Wheezy:" - -msgid "Install the LVM packages:" -msgstr "Установите пакеты LVM:" - -msgid "Install the Ubuntu Cloud archive keyring and repository:" -msgstr "Установите ключи и репозиторий архива Ubuntu Cloud:" - -msgid "Install the package:" -msgstr "Установите пакет:" - -msgid "Install the packages:" -msgstr "Установите пакеты:" - -msgid "Install the required packages:" -msgstr "Установите необходимые пакеты:" - -msgid "Instance tunnels on 10.0.1.0/24 without a gateway" -msgstr "Туннели инстансов на 10.0.1.0/24 без шлюза" - -msgid "KEYSTONE_DBPASS" -msgstr "KEYSTONE_DBPASS" - -msgid "" -"Kill any existing dnsmasq " -"processes:" -msgstr "" -"Убейте все существующие процессы dnsmasq:" - -msgid "" -"Later on, the package will configure the below directive with the value you " -"entered:" -msgstr "" -"Позже пакет заполнит указанную ниже директиву введённым вами значением:" - -msgid "Launch an instance" -msgstr "Запуск инстанса" - -msgid "Launch an instance with OpenStack Networking (neutron)" -msgstr "Запуск инстанса с Сетью OpenStack (neutron)" - -msgid "Launch an instance with legacy networking (nova-network)" -msgstr "Запуск инстанса с старой сетью (nova-network)" - -msgid "Launch the instance:" -msgstr "Запустите инстанс:" - -msgid "" -"Launching a virtual machine or instance involves many interactions among " -"several services. The following diagram provides the conceptual architecture " -"of a typical OpenStack environment." -msgstr "" -"Запуск виртуальной машины или инстанса включает множество взаимодействий " -"между несколькими службами. Представленная диаграмма демонстрирует " -"концептуальную архитектуру типичной среды OpenStack." - -msgid "Legacy networking (nova-network)" -msgstr "Старая сеть (nova-network)" - -msgid "" -"Legacy networking primarily involves compute nodes. However, you must " -"configure the controller node to use legacy networking." -msgstr "" -"Старая сеть по большей части задействует вычислительные узлы. Однако, вам " -"необходимо настроить управляющий узел на использование старой сети." - -msgid "" -"Like a physical network, a virtual network requires a subnet assigned to it. The external network shares the same subnet and " -"gateway associated with the physical network " -"connected to the external interface on the network node. You should specify " -"an exclusive slice of this subnet for router and " -"floating IP addresses to prevent interference with other devices on the " -"external network." -msgstr "" -" Как и физической сети, виртуальной сети требуется задать " -"подсеть. Внешняя сеть разделяет подсети и " -"шлюз назначенные физической сети, к которой подключен " -"внешний интерфейс на сетевом узле. Вы должны указать эксклюзивный фрагмент " -"из этой подсети для маршрутизатора и плавающих IP-" -"адресов для предотвращения помех с другими устройствами во внешней сети." - -msgid "List agents to verify successful launch of the neutron agents:" -msgstr "" -"Получите список агентов для подтверждения успешного запуска агентов neutron:" - -msgid "List available flavors:" -msgstr "Получите список доступных схем:" - -msgid "List available images:" -msgstr "Получите список доступных образов:" - -msgid "List available networks:" -msgstr "Получите список доступных сетей:" - -msgid "List available security groups:" -msgstr "Получите список групп безопасности:" - -msgid "" -"List loaded extensions to verify successful launch of the neutron-" -"server process:" -msgstr "" -"Получите список загруженных расширений, для подтверждения успешного запуска " -"процесса neutron-server:" - -msgid "List service components to verify successful launch of each process:" -msgstr "" -"Получите список компонент службы для подтверждения успешного запуска каждого " -"процесса:" - -msgid "List volumes:" -msgstr "Получите список дисков:" - -msgid "MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "METADATA_SECRET" -msgstr "METADATA_SECRET" - -msgid "MYSQL_PASSWORD" -msgstr "MYSQL_PASSWORD" - -msgid "Management on 10.0.0.0/24 with gateway 10.0.0.1" -msgstr "Управляющая на 10.0.0.0/24 со шлюзом 10.0.0.1" - -msgid "Manually install python-argparse" -msgstr "Вручную установите " - -msgid "" -"Many of the OpenStack services need to be configured to access a database. " -"These are configured through a DSN (Database Source Name) directive as " -"follows:" -msgstr "" -"Во многих сервисах OpenStack необходимо настроить доступ к базам данных. Это " -"делается через директиву DSN (Database Source Name) следующим образом:" - -msgid "" -"Many users build their test environments on virtual machines (VMs). The primary benefits of " -"VMs include the following:" -msgstr "" -"Многие пользователи строят своих тестовые среды на Виртуальных Машинах (ВМ). Основные " -"преимущества ВМ включают:" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Hardware " -"requirements" -msgstr "Минимальная примерная архитектура с сетью OpenStack (neutron) требует" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Network " -"layout" -msgstr "" -"Минимальный пример архитектуры с сетью на основе OpenStack Networking " -"(neutron)" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Service " -"layout" -msgstr "Макет минимальной примерной архитектуры с сетью OpenStack (neutron)" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Hardware " -"requirements" -msgstr "" -"Минимальная примерная архитектура со старой сетью (nova-network) требует" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Network " -"layout" -msgstr "Минимальный пример архитектуры на основе старой сети (nova-network)" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Service " -"layout" -msgstr "" -"Макет минимальной примерной архитектуры на основе старой сети (nova-network)" - -msgid "" -"Most cloud images support public key authentication " -"rather than conventional user name/password authentication. Before launching " -"an instance, you must generate a public/private key pair using " -" and add the public key to your OpenStack environment." -msgstr "" -"Большенство облачных образов поддерживают аутентификацию по " -"открытым ключам кроме обычной аутентификации по имени/паролю. " -"Прежде чем запускать инстанс, вам необходимо сгенерировать пару из открытого/" -"закрытого ключей используя и добавить открытый ключ в вашу " -"среду OpenStack." - -msgid "NETWORK_CIDR" -msgstr "NETWORK_CIDR" - -msgid "NEUTRON_DBPASS" -msgstr "NEUTRON_DBPASS" - -msgid "NEUTRON_PASS" -msgstr "NEUTRON_PASS" - -msgid "NOVA_DBPASS" -msgstr "NOVA_DBPASS" - -msgid "NOVA_PASS" -msgstr "NOVA_PASS" - -msgid "NTP_SERVER" -msgstr "NTP_SERVER" - -msgid "Name" -msgstr "Имя" - -msgid "Network Node: 1 processor, 512 MB memory, and 5 GB storage" -msgstr "Сетевой узел: 1 процессор, 512 МБ памяти и 5 ГБ хранилища" - -msgid "Network Time Protocol (NTP)" -msgstr "Протокол сетевого времени (NTP)" - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest number " -"and the second interface as the interface with the highest number." -msgstr "" -"Имена сетевых интерфейсов различаются в зависимости от дистрибутива. " -"Традиционно, интерфейсы используют \"eth\" и порядковый номер. Чтобы учесть " -"все варианты, в этом руководстве первый интерфейс обозначает интерфейс с " -"наименьшим номером и второй обозначает интерфейс с наибольшим номером." - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest " -"number, the second interface as the interface with the middle number, and " -"the third interface as the interface with the highest number." -msgstr "" -"Имена сетевых интерфейсов различаются в зависимости от дистрибутива. " -"Традиционно интерфейсы используют \"eth\" и порядковый номер. Чтобы учесть " -"все варианты, в этом руководстве первый интерфейс обозначает интерфейс с " -"наименьшим номером, второй обозначает интерфейс со средним номером и третий " -"обозначает интерфейс с наибольшим номером." - -msgid "Network mask: 255.255.255.0 (or /24)" -msgstr "Маска сети: 255.255.255.0 (или /24)" - -msgid "Network node" -msgstr "Сетевой узел" - -msgid "Networking" -msgstr "Сеть" - -msgid "Networking concepts" -msgstr "Концепции сетевой подсистемы" - -msgid "" -"Networking provides the networks, subnets, and routers object abstractions. " -"Each abstraction has functionality that mimics its physical counterpart: " -"networks contain subnets, and routers route traffic between different subnet " -"and networks." -msgstr "" -"Сетевая подсистема предоставляет абстрактные сети, подсети и маршрутизаторы. " -"Каждая из них по функциональности имитирует физические аналоги: сети " -"содержат подсети, маршрутизаторы маршрутизируют траффик между разными " -"подсетями и сетями." - -msgid "Next steps" -msgstr "Следующие шаги" - -msgid "Object ring" -msgstr "Кольцо объектов" - -msgid "" -"Obtain a Virtual Network Computing (VNC) session URL " -"for your instance and access it from a web browser:" -msgstr "" -"Получите URL сессии Virtual Network Computing (VNC) " -"для вашего инстанса и подключитесь к нему через веб-браузер:" - -msgid "" -"On RHEL and CentOS, configure SELinux to permit the web server to connect to " -"OpenStack services:" -msgstr "" -"На RHEL и CentOS, настройте SELinux разрешать веб-серверу соединяться со " -"службами OpenStack:" - -msgid "On SLES:" -msgstr "На SLES:" - -msgid "On all nodes, install the Debian Wheezy backport repository Juno:" -msgstr "" -"На всех узлах установите репозиторий перенесённых пакетов для Juno под " -"Debian Wheezy:" - -msgid "On openSUSE:" -msgstr "На openSUSE:" - -msgid "" -"On the controller node, edit the /etc/nova/" -"nova.conf file and complete the following action:" -msgstr "" -"На управляющем узле, отредактируйте файл /etc/" -"nova/nova.conf следующим образом:" - -msgid "" -"On the controller node, restart the Compute " -"API service:" -msgstr "" -"На управляющем узле, перезапустите сервисы " -"Вычислительного API:" - -msgid "" -"On the controller node and any other nodes running the proxy service, " -"restart the Object Storage proxy service including its dependencies:" -msgstr "" -"На управляющем узле и всех других узлах, на которых запущен сервис " -"проксирования, перезапустите сервис проксирования Хранилища Объектов, " -"включая его зависимости:" - -msgid "" -"On the controller node and any other nodes running the proxy service, start " -"the Object Storage proxy service including its dependencies and configure " -"them to start when the system boots:" -msgstr "" -"На управляющем узле и всех других узлах, на которых запущен сервис " -"проксирования, запустите сервис проксирования службы Хранилища Объектов, " -"включая его зависимости, и настройте их автоматический запуск при загрузке " -"системы:" - -msgid "" -"On the storage nodes, start the Object Storage services and configure them " -"to start when the system boots:" -msgstr "" -"На узлах хранения, запустите сервисы службы Хранилища Объектов и настройте " -"их автоматический запуск при загрузке системы:" - -msgid "" -"One physical server can support multiple nodes, each with almost any number " -"of network interfaces." -msgstr "" -"Один физический сервер может поддерживать множество узлов, каждый с " -"практически любым числом сетевых интерфейсов." - -msgid "OpenStack" -msgstr "OpenStack" - -msgid "OpenStack Foundation" -msgstr "OpenStack Foundation" - -msgid "OpenStack Installation Guide" -msgstr "Справочник по установке OpenStack" - -msgid "" -"OpenStack Installation Guide for " -msgstr "" -"Руководство по установке OpenStack для " - -msgid "OpenStack Networking (neutron)" -msgstr "OpenStack Networking (neutron)" - -msgid "" -"OpenStack Networking (neutron) manages all networking facets for the Virtual " -"Networking Infrastructure (VNI) and the access layer aspects of the Physical " -"Networking Infrastructure (PNI) in your OpenStack environment. OpenStack " -"Networking enables tenants to create advanced virtual network topologies " -"including services such as firewalls, load balancers, and virtual private networks (VPNs)." -msgstr "" -"Сеть OpenStack (neutron) управляет всеми сетевыми аспектами для Виртуальной " -"Сетевой Инфраструктуры (VNI) и аспектами уровня доступа Физической Сетевой " -"Инфраструктуры (PNI) в вашей среде OpenStack. Сеть OpenStack позволяет " -"арендаторам создавать сложные топологии виртуальных сетей, включающие такие " -"службы как межсетевой экран, " -"балансировщик нагрузки и " -"виртуальная частная " -"сеть (VPNs)." - -msgid "" -"OpenStack is highly configurable to meet different needs with various " -"compute, networking, and storage options. This guide enables you to choose " -"your own OpenStack adventure using a combination of core and optional " -"services. This guide uses the following example architectures:" -msgstr "" -"OpenStack легко настраивается в зависимости от требований к вычислениям, " -"сети и хранилищам. Это руководство позволяет вам выбрать своё собственное " -"приклечение с OpenStack, используя комбинацию основных и дополнительных " -"служб. Данное руководство использует следующие примеры архитектур:" - -msgid "OpenStack packages" -msgstr "Пакеты OpenStack" - -msgid "" -"OpenStack provides an Infrastructure-as-a-Service (IaaS) solution through a variety of complemental services. Each " -"service offers an application programming interface (API) that facilitates this integration. The following table provides " -"a list of OpenStack services:" -msgstr "" -"OpenStack предоставляет Инфраструктуру-как-Сервис (IaaS) через ряд дополняющих друг друга служб. Каждая служба " -"предоставляет программный интерфейс приложения (API), " -"который облегчает интеграцию. Представленная таблица содержит список служб " -"OpenStack:" - -msgid "" -"OpenStack services support various security methods including password, " -"policy, and encryption. Additionally, supporting services including the " -"database server and message broker support at least password security." -msgstr "" -"Службы OpenStack поддерживают различные механизмы безопасности, включая " -"пароли, политики и шифрование. Дополнительно, вспомогательные службы, " -"включающие сервер баз данных и брокер сообщений, поддерживают как минимум " -"пароли." - -msgid "Optionally, configure the time zone:" -msgstr "Дополнительно, можно настроить часовой пояс:" - -msgid "" -"Optionally, these nodes can contain a second network interface on a separate " -"storage network to improve performance of storage services." -msgstr "" -"Дополнительно эти узлы могут содержать второй сетевой интерфейс в отдельной " -"сети хранения для улучшения производительности служб хранения." - -msgid "Other nodes" -msgstr "На других узлах" - -msgid "Overview" -msgstr "Обзор" - -msgid "PACKAGE-NAME" -msgstr "PACKAGE-NAME" - -msgid "PASSWORD" -msgstr "PASSWORD" - -msgid "Perform these commands on the controller node." -msgstr "Выполните эти команды на управляющем узле." - -msgid "Permit ICMP (ping):" -msgstr "Разрешите ICMP (ping):" - -msgid "Permit secure shell (SSH) access:" -msgstr "Разрешите доступ до защищённой оболочки (SSH):" - -msgid "Populate the Block Storage database:" -msgstr "Заполните базу данных сервиса Блочного хранилища:" - -msgid "Populate the Compute database:" -msgstr "Заполните базу данных Вычислительного сервиса:" - -msgid "Populate the Identity service database:" -msgstr "Заполните базу данных службы Идентификации:" - -msgid "Populate the Orchestration database:" -msgstr "Заполните базу данных сервиса Оркестровки:" - -msgid "Populate the database:" -msgstr "Заполните базу данных:" - -msgid "Pre-seed debconf prompts" -msgstr "Подготовьте ответы на запросы debconf" - -msgid "Prerequisites" -msgstr "Предварительные требования" - -msgid "" -"Proceed to network configuration for the example OpenStack Networking (neutron) or legacy networking (nova-network) " -"architecture." -msgstr "" -"Продолжите настраивать сеть для примерной архитектуры Сети OpenStack (neutron) или старой сети (nova-network)" - -msgid "RABBIT_PASS" -msgstr "RABBIT_PASS" - -msgid "" -"RHEL and CentOS enable SELinux by default. Install " -"the openstack-selinux package to automatically manage " -"security policies for OpenStack services:" -msgstr "" -"RHEL и CentOS включают SELinux по-умолчанию. " -"Установите пакет openstack-selinux для автоматического " -"управления политиками безопасности служб OpenStack:" - -msgid "RabbitMQ credentials parameters" -msgstr "Параметры входа на RabbitMQ" - -msgid "Rebalance the ring:" -msgstr "Ребалансируйте кольцо:" - -msgid "Reboot the system to activate the changes." -msgstr "Перезагрузите систему чтобы применить изменения." - -msgid "" -"Reconfiguring network interfaces will interrupt network connectivity. We " -"recommend using a local terminal session for these procedures." -msgstr "" -"Перенастройка сетевых интерфейсов сбросит сетевые соединения. Мы рекомендуем " -"использовать локальную терминальную сессию для этих процедур." - -msgid "Red Hat Enterprise Linux, CentOS, and Fedora" -msgstr "Red Hat Enterprise Linux, CentOS, и Fedora" - -msgid "Register API endpoints" -msgstr "Зарегистрируйте точки доступа API" - -msgid "" -"Remove the /var/lib/ntp/ntp.conf.dhcp file if it exists." -msgstr "" -"Удалите файл /var/lib/ntp/ntp.conf.dhcp, если он " -"существует." - -msgid "" -"Replace ADMIN_PASS with the password you chose for the " -"admin user in the Identity service." -msgstr "" -"Замените ADMIN_PASS на пароль, который вы выбрали для " -"пользователя admin в службе Идентификации." - -msgid "" -"Replace DEMO_PASS with the password you chose for the " -"demo user in the Identity service." -msgstr "" -"Замените DEMO_PASS на пароль, который вы выбрали для " -"пользователя demo в службе Идентификации." - -msgid "" -"Replace ADMIN_TOKEN with the random value that " -"you generated in a previous step." -msgstr "" -"Замените ADMIN_TOKEN на случайную строку, которую " -"вы сгенерировали на предыдущем шаге." - -msgid "" -"Replace CEILOMETER_DBPASS with a suitable " -"password." -msgstr "" -"Замените CEILOMETER_DBPASS на подходящий пароль." - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the ceilometer user in the Identity service." -msgstr "" -"Замените CEILOMETER_PASS на пароль, который вы " -"выбрали для пользователя ceilometer в службе " -"Идентификации." - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the Telemetry module database." -msgstr "" -"Замените CEILOMETER_PASS на пароль, который вы " -"выбрали для базы данных модуля Телеметрии." - -msgid "" -"Replace CINDER_DBPASS with a suitable password." -msgstr "" -"Замените CINDER_DBPASS на подходящий пароль." - -msgid "" -"Replace CINDER_DBPASS with the password you chose " -"for the Block Storage database." -msgstr "" -"Замените CINDER_DBPASS на пароль, который вы " -"выбрали для базы данных службы Блочного хранения." - -msgid "" -"Replace CINDER_PASS with the password you chose " -"for the cinder user in the Identity service." -msgstr "" -"Замените CINDER_PASS на пароль, который вы " -"выбрали для пользователя cinder в службе Идентификации." - -msgid "" -"Replace DEMO_NET_ID with the ID of the " -"demo-net tenant network." -msgstr "" -"Замените DEMO_NET_ID на ID сети demo-" -"net арендатора." - -msgid "" -"Replace FILE with the name of a local file to " -"upload to the demo-container1 container." -msgstr "" -"Замените FILE на имя локального файла, который вы " -"хотите загрузить в контейнер demo-container1." - -msgid "" -"Replace FILE with the name of the file uploaded " -"to the demo-container1 container." -msgstr "" -"Замените FILE на имя файла, который вы загрузили " -"в контейнер demo-container1." - -msgid "" -"Replace FLOATING_IP_START and " -"FLOATING_IP_END with the first and last IP " -"addresses of the range that you want to allocate for floating IP addresses. " -"Replace EXTERNAL_NETWORK_CIDR with the subnet " -"associated with the physical network. Replace " -"EXTERNAL_NETWORK_GATEWAY with the gateway " -"associated with the physical network, typically the \".1\" IP address. You " -"should disable DHCP on this subnet because instances " -"do not connect directly to the external network and floating IP addresses " -"require manual assignment." -msgstr "" -"Замените FLOATING_IP_START и " -"FLOATING_IP_END на первый и последний IP-адреса " -"из диапазона, который вы хотите выделить для внешних IP-адресов. Замените " -"EXTERNAL_NETWORK_CIDR на подсеть, связанную с " -"физической сетью. Замените EXTERNAL_NETWORK_GATEWAY на шлюз, связанный с физической сетью, как правило это \".1\" " -"IP-адрес. Вам стоит отключить DHCP на этой подсети, " -"поскольку инстансы не соединяются напрямую с внешней сетью и статичные IP-" -"адреса требуется задавать вручную." - -msgid "" -"Replace GLANCE_DBPASS with a suitable password." -msgstr "" -"Замените GLANCE_DBPASS на подходящий пароль." - -msgid "" -"Replace GLANCE_PASS with the password you chose " -"for the glance user in the Identity service." -msgstr "" -"Замените GLANCE_PASS на пароль, который вы " -"выбрали для пользователя glance в службе Идентификации." - -msgid "" -"Replace HEAT_DBPASS with a suitable password." -msgstr "Замените HEAT_DBPASS на подходящий пароль." - -msgid "" -"Replace HEAT_DBPASS with the password you chose " -"for the Orchestration database." -msgstr "" -"Замените HEAT_DBPASS на пароль, который вы " -"выбрали для базы данных Оркестровки." - -msgid "" -"Replace HEAT_PASS with the password you chose for " -"the heat user in the Identity service." -msgstr "" -"Замените HEAT_PASS на пароль, который вы выбрали " -"для пользователя heat в службе Идентификации." - -msgid "" -"Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"with the IP address of the instance tunnels network interface on your " -"compute node." -msgstr "" -"Замените INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS на " -"IP-адрес интерфейса сети туннелей инстансов на вашем вычислительном узле." - -msgid "" -"Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"with the IP address of the instance tunnels network interface on your " -"network node." -msgstr "" -"Замените INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS на " -"IP-адрес интерфейса сети туннелей инстансов на вашем сетевом узле." - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth1 or ens224." -msgstr "" -"Замените INTERFACE_NAME на имя интерфейса. " -"Например, eth1 или ens224." - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth2 or ens256." -msgstr "" -"Замените INTERFACE_NAME на действительное имя " -"интерфейса. Например, eth2 или ens256." - -msgid "" -"Replace KEYSTONE_DBPASS with a suitable password." -msgstr "" -"Замените KEYSTONE_DBPASS подходящим паролем." - -msgid "" -"Replace KEYSTONE_DBPASS with the password you " -"chose for the database." -msgstr "" -"Замените KEYSTONE_DBPASS на пароль, который вы " -"установили для базы данных." - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your compute node, " -"typically 10.0.0.31 for the first node in the example architecture." -msgstr "" -"Замените MANAGEMENT_INTERFACE_IP_ADDRESS на IP-" -"адрес интерфейса управляющей сети на вашем вычислительном узле, обычно " -"10.0.0.31 для первого узла в примере архитектур." - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your storage node, " -"typically 10.0.0.41 for the first node in the example architecture." -msgstr "" -"Замените MANAGEMENT_INTERFACE_IP_ADDRESS на IP-" -"адрес интерфейса управляющей сети вашего узла хранения, как правило " -"10.0.0.41 для первого узла в примерной архитектуре." - -msgid "" -"Replace METADATA_SECRET with a suitable secret " -"for the metadata proxy." -msgstr "" -"Замените METADATA_SECRET подходящим секретом для " -"прокси метаданных:" - -msgid "" -"Replace METADATA_SECRET with the secret you chose " -"for the metadata proxy." -msgstr "" -"Замените METADATA_SECRET на секрет, который вы " -"выбрали для прокси метаданных." - -msgid "" -"Replace NETWORK_CIDR with the subnet associated " -"with the physical network." -msgstr "" -"Замените NETWORK_CIDR на подсеть, ассоциированную " -"с физической сетью." - -msgid "" -"Replace NEUTRON_DBPASS with a suitable password." -msgstr "" -"Замените NEUTRON_DBPASS на подходящий пароль." - -msgid "" -"Replace NEUTRON_DBPASS with the password you " -"chose for the database." -msgstr "" -"Замените NEUTRON_DBPASS на пароль, который вы " -"выбрали для базы данных." - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"for the neutron user in the Identity service." -msgstr "" -"Замените NEUTRON_PASS на пароль, который вы " -"выбрали для пользователя neutron в службе Идентификации." - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"or the neutron user in the Identity service." -msgstr "" -"Замените NEUTRON_PASS на пароль, который вы " -"выбрали для пользователя neutron в службе Идентификации." - -msgid "" -"Replace NOVA_DBPASS with a suitable password." -msgstr "Замените NOVA_DBPASS на подходящий пароль." - -msgid "" -"Replace NOVA_DBPASS with the password you chose " -"for the Compute database." -msgstr "" -"Замените NOVA_DBPASS на пароль, который вы " -"выбрали для базы данных службы Вычислений." - -msgid "" -"Replace NOVA_PASS with the password you chose for " -"the nova user in the Identity service." -msgstr "" -"Замените NOVA_PASS на пароль, который вы выбрали " -"для пользователя nova в службе Идентификации." - -msgid "" -"Replace NTP_SERVER with the hostname or IP " -"address of a suitable more accurate (lower stratum) NTP server. The " -"configuration supports multiple server keys." -msgstr "" -"Замените NTP_SERVER на доменное имя или IP-адрес " -"подходящего, более точного (нижнего уровня) NTP сервера. Конфигурация " -"поддерживает множественные ключи server." - -msgid "" -"Replace RABBIT_PASS with a suitable password." -msgstr "Замените RABBIT_PASS на подходящий пароль." - -msgid "" -"Replace SWIFT_PASS with the password you chose " -"for the swift user in the Identity service." -msgstr "" -"Замените SWIFT_PASS на пароль, который вы выбрали " -"для пользователя swift в службе Идентификации." - -msgid "" -"Replace TENANT_NETWORK_CIDR with the subnet you " -"want to associate with the tenant network and " -"TENANT_NETWORK_GATEWAY with the gateway you want " -"to associate with it, typically the \".1\" IP address." -msgstr "" -"Замените TENANT_NETWORK_CIDR на подсеть, которую " -"вы хотите ассоциировать с сетью арендатора и " -"TENANT_NETWORK_GATEWAY на шлюз, который вы хотите " -"ассоциировать с ней, как правило \".1\" IP-адрес." - -msgid "Reserved user IDs" -msgstr "Зарезервированные ID пользователей." - -msgid "" -"Respond to prompts for database " -"management, Identity " -"service credentials, service " -"endpoint registration, and message " -"broker credentials." -msgstr "" -"Ответьте на вопросы об управлении " -"базами данных, учётных " -"данных службы Идентификации, регистрации точек доступа и учётных данных брокера сообщений." - -msgid "" -"Respond to prompts for , which " -"will fill the below database access directive." -msgstr "" -"Ответьте на вопросы , чтобы " -"заполнить директиву доступа к базе данных." - -msgid "Respond to prompts for web server configuration." -msgstr "Ответьте на запросы для настройки веб сервера." - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials.." -msgstr "" -"Ответьте на вопросы об управлении " -"базой данных, учётных " -"данных службы Идентификации, регистрации служебных точек доступа и учётных данных брокера сообщений.." - -msgid "Restart the Block Storage services:" -msgstr "Перезапустите сервисы Блочного Хранения:" - -msgid "Restart the Block Storage volume service including its dependencies:" -msgstr "" -"Перезапустите сервис дисков Блочного Хранения, включая его зависимости:" - -msgid "Restart the Compute service:" -msgstr "Перезаупстите службу Compute:" - -msgid "Restart the Compute services:" -msgstr "Перезапустите службу Вычислений:" - -msgid "Restart the Database services:" -msgstr "Перезапустите сервисы службы Баз Данных:" - -msgid "Restart the MongoDB service:" -msgstr "Перезапустите службу MongoDB:" - -msgid "Restart the NTP service:" -msgstr "Перезапустите сервис NTP:" - -msgid "Restart the Networking service:" -msgstr "Перезапустите службу Networking:" - -msgid "Restart the Networking services:" -msgstr "Перезапустите службы Сети:" - -msgid "Restart the OVS service:" -msgstr "Перезапустите службу OVS:" - -msgid "Restart the Open vSwitch (OVS) agent:" -msgstr "Перезапустите агент Open vSwitch (OVS):" - -msgid "Restart the Orchestration services:" -msgstr "Перезапустите сервисы Оркестровки:" - -msgid "Restart the Telemetry services:" -msgstr "Перезапустите слервисы службы Телеметрии:" - -msgid "Restart the database service:" -msgstr "Перезапустите сервис баз данных:" - -msgid "Restart the services:" -msgstr "Перезапустите сервисы:" - -msgid "Run the following command to install the packages:" -msgstr "Исполните следующую команду для установки пакетов:" - -msgid "Run this command on all other nodes:" -msgstr "Исполните эту команду на всех остальных узлах:" - -msgid "Run this command on the controller node:" -msgstr "Исполните эту команду на управляющем узле:" - -msgid "SAHARA_DBPASS" -msgstr "SAHARA_DBPASS" - -msgid "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "SUSE does not use a separate ML2 plug-in package." -msgstr "SUSE не использует отдельный пакет для плагина ML2." - -msgid "SWIFT_PASS" -msgstr "SWIFT_PASS" - -msgid "" -"Secure the database service including choosing a suitable password for the " -"root account:" -msgstr "" -"Защитите сервис баз данных, включая задание подходящего пароля для " -"пользователя root:" - -msgid "Secure the database service:" -msgstr "Защитите сервис баз данных:" - -msgid "Security" -msgstr "Безопасность" - -msgid "Select the ML2 plug-in:" -msgstr "Выберите плагин ML2:" - -msgid "" -"Selecting the ML2 plug-in also populates the and " -" options in the /etc/neutron/neutron.conf file with the appropriate values." -msgstr "" -"Выбор плагина ML2 так же заполняет параметры и " -" в файле /etc/neutron/neutron.conf " -"соответствующими занчениями." - -msgid "Services and the [keystone_authtoken]" -msgstr "Службы и [keystone_authtoken]" - -msgid "" -"Set the hostname of the node to controller." -msgstr "" -"Измените имя узла на controller." - -msgid "Set the hostname of the node to compute1." -msgstr "Измените имя узла на compute1." - -msgid "Set the hostname of the node to network." -msgstr "Измените имя узла на network." - -msgid "Set the hostname of the node to block1." -msgstr "Задайте имя хоста на узле block1." - -msgid "" -"Similarly, if your compute nodes use LVM on the operating system disk, you " -"must also modify the filter in the /etc/lvm/lvm.conf file " -"on those nodes to include only the operating system disk. For example, if " -"the /dev/sda device contains the operating system:" -msgstr "" -"Таким же образом, если вычислительный узел использует LVM на диске с " -"операционной системой, вам необходимо модифицировать фильтр в файле " -"/etc/lvm/lvm.conf на этих узлах так, чтобы он включал " -"только диск с операционной системой. Например, если устройство /dev/" -"sda содержит операционную систему:" - -msgid "" -"So, if using Debian, you wont need to care about database creation, access " -"rights and character sets. All that is handled for you by the packages." -msgstr "" -"Поэтому, если вы используете Debian, вам не нужно будет беспокоиться о " -"создании базы данных, правах доступа и наборах символов. Всё это " -"обрабатывается за вас самими пакетами." - -msgid "" -"Some cloud images ignore the DHCP MTU option in which case you should " -"configure it using metadata, a script, or another suitable method." -msgstr "" -"Некоторые образы для облаков игнорируют параметр DHCP MTU, на этот случай " -"вам необходимо настроить его используя метаданные, скрипт или другой " -"подходящий метод." - -msgid "Some distributions include LVM by default." -msgstr "Некоторые дистрибутивы включают LVM по умолчанию." - -msgid "Source the demo-openrc.sh file." -msgstr "Загрузите файл demo-openrc.sh." - -msgid "" -"Source the admin credentials to gain access to admin-only " -"CLI commands:" -msgstr "" -"Загрузите учётные данные пользователя admin для получения " -"доступа к административным CLI командам:" - -msgid "Source the admin tenant credentials:" -msgstr "Загрузите учётные данные арендатора admin:" - -msgid "" -"Source the demo credentials to gain access to user-only " -"CLI commands:" -msgstr "" -"Загрузите учётные данные пользователя demo для получения " -"доступа к пользовательским CLI командам:" - -msgid "Source the demo tenant credentials:" -msgstr "Загрузите учётные данные арендатора demo:" - -msgid "" -"Start the rsyncd service and " -"configure it to start when the system boots:" -msgstr "" -"Запустите сервис rsyncd и " -"настройте его автоматический запуск при загрузке системы:" - -msgid "" -"Start the Block Storage services and configure them to start when the system " -"boots:" -msgstr "" -"Запустите сервис службы Блочного хранения и настройте его автоматический " -"запуск при загрузке системы:" - -msgid "" -"Start the Block Storage volume service including its dependencies and " -"configure them to start when the system boots:" -msgstr "" -"Запустите сервис дисков Блочного хранения, включая его зависимости, и " -"настройте их автоматический запуск при загрузке системы:" - -msgid "" -"Start the Compute service including its dependencies and configure them to " -"start automatically when the system boots:" -msgstr "" -"Запустите сервис службы Вычислений, включая его зависимости, и настройте их " -"автоматический запуск при загрузке системы:" - -msgid "" -"Start the Compute services and configure them to start when the system boots:" -msgstr "" -"Запустите сервис службы Вычислений и настройте его автоматический запуск при " -"загрузке системы:" - -msgid "" -"Start the Database services and configure them to start when the system " -"boots:" -msgstr "" -"Запустите сервисы службы Базы Данных и настройте их автоматический запуск " -"при загрузке системы:" - -msgid "" -"Start the LVM metadata service and configure it to start when the system " -"boots:" -msgstr "" -"Запустите сервис метаданных LVM и настройте его автоматический запуск при " -"загрузке системы:" - -msgid "" -"Start the MongoDB services and configure them to start when the system boots:" -msgstr "" -"Запустите сервисы MongoDB и настройте их автоматический запуск при загрузке " -"системы:" - -msgid "Start the NTP service and configure it to start when the system boots:" -msgstr "" -"Запустите сервис NTP и настройте его автоматический запуск при загрузке " -"системы:" - -msgid "" -"Start the Networking service and configure it to start when the system boots:" -msgstr "" -"Запустите сервис службы Сети и настройте его автоматический запуск при " -"загрузке системы:" - -msgid "" -"Start the Networking services and configure them to start when the system " -"boots:" -msgstr "" -"Запустите сервисы службы Сети и настройте их автоматический запуск при " -"загрузке системы:" - -msgid "Start the OVS service and configure it to start when the system boots:" -msgstr "" -"Запустите сервис OVS и настройте его автоматический запуск при загрузке " -"системы:" - -msgid "" -"Start the Open vSwitch (OVS) agent and configure it to start when the system " -"boots:" -msgstr "" -"Запустите агент Open vSwitch (OVS) и настройте его автоматический запуск при " -"загрузке системы:" - -msgid "" -"Start the Orchestration services and configure them to start when the system " -"boots:" -msgstr "" -"Запустите сервис Оркестровки и настройте его автоматический запуск при " -"загрузке системы:" - -msgid "" -"Start the Telemetry services and configure them to start when the system " -"boots:" -msgstr "" -"Запустите сервисы Телеметрии и настройте их автоматический запуск при " -"загрузке системы:" - -msgid "" -"Start the database service and configure it to start when the system boots:" -msgstr "" -"Запустите сервис баз данных и настройте его автоматический запуск при " -"загрузке системы:" - -msgid "Start the services and configure them to start when the system boots:" -msgstr "" -"Запустите сервисы и настройте их автоматический запуск при загрузке системы:" - -msgid "" -"Start the web server and session storage service and configure them to start " -"when the system boots:" -msgstr "" -"Запустите веб-сервер и службу хранилища сессий и настройте их автоматический " -"запуск при загрузке системы:" - -msgid "TENANT_NETWORK_CIDR" -msgstr "TENANT_NETWORK_CIDR" - -msgid "TENANT_NETWORK_GATEWAY" -msgstr "TENANT_NETWORK_GATEWAY" - -msgid "TIME_ZONE" -msgstr "TIME_ZONE" - -msgid "TROVE_DBPASS" -msgstr "TROVE_DBPASS" - -msgid "TROVE_PASS" -msgstr "TROVE_PASS" - -msgid "Tenant network" -msgstr "Сеть арендатора" - -msgid "" -"The metadata agent " -"provides configuration information such as credentials to instances." -msgstr "" -"Агент метаданных " -"предоставляет информацию о конфигурации, такую как учётные данные, инстансам." - -msgid "" -"The controller node runs the Identity service, Image Service, management portions of " -"Compute and Networking, Networking plug-in, and the dashboard. It also " -"includes supporting services such as a SQL database, message " -"queue, and Network Time Protocol (NTP)." -msgstr "" -"Управляющий узел " -"предоставляет службы Идентификации, Образов, управляющие части " -"Вычислительной и Сетевой службы, Сетевые плагины и Панель управления. Он так " -"же включает вспомогательные службы, такие как SQL СУБД, очередь " -"сообщений и Протокол сетевого времени (NTP)." - -msgid "" -"The DHCP agent provides DHCP services for virtual " -"networks." -msgstr "" -"Агент DHCP предоставляет службы DHCP для виртуальных " -"сетей." - -msgid "" -"The Juno release is available only in Debian " -"Experimental (otherwise called rc-buggy), as Jessie is frozen soon, and will " -"contain Icehouse. However, the Debian maintainers of OpenStack also maintain " -"a non-official Debian repository for OpenStack containing Wheezy backports." -msgstr "" -"Выпуск Juno доступен только в Debian Experimental " -"(так же называемом rc-buggy), поскольку Jessie скоро будет заморожен и будет " -"содержать Icehouse. Однако, сопровождающие пакеты OpenStack в Debian так же " -"сопровождают неофициальный репозиторий для OpenStack, содержащий " -"перенесённые пакеты Wheezy." - -msgid "" -"The Layer-3 (L3) agent provides routing services for " -"virtual networks." -msgstr "" -"Агент Layer-3 (L3) предоставляет службы маршрутизации " -"для виртуальных сетей." - -msgid "" -"The OpenStack project is an open source cloud " -"computing platform that supports all types of cloud environments. The " -"project aims for simple implementation, massive scalability, and a rich set " -"of features. Cloud computing experts from around the world contribute to the " -"project." -msgstr "" -"Проект OpenStack это платформа для облачных " -"вичислений с открытым исходным кодом, которая поддерживает все типы облачных " -"сред. Целями проекта является простота реализации, широкое масштабирование и " -"богатый набор возможностей. Эксперты в облсти облачных вычислений со всего " -"мира участвуют в развитии проекта." - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. Compute also provisions tenant networks and provides firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"Вычислительный узел содержит гипервизор службы Вычислений, который управляет виртуальными машинами или экземплярами " -"арендаторов. По-умолчанию, используется KVM в качестве " -"гипервизора. Вычислительный узел так же сети " -"арендаторов и фаерволы (группы " -"безопасности). Вы можете иметь более одного вычислительного узла." - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. The compute node also runs the Networking plug-in and an agent " -"that connect tenant networks to instances and provide firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"Вычислительный узел содержит гипервизор службы Вычислений, который управляет виртуальными машинами или экземплярами " -"арендаторов. По-умолчанию, используется KVM в качестве " -"гипервизора. Вычислительный узел так же содержит " -"Сетевые плагины и агент, который подключает сети арендаторов к машинам и " -"предоставляет фаерволы (группы " -"безопасности). Вы можете иметь более одного вычислительного узла." - -msgid "" -"The dbconfig-common package will configure MySQL for " -"these access rights, and create the database for you. Since OpenStack " -"2014.1.1, all OpenStack packages in Debian are performing the following " -"MySQL query after database creation (if you decide to use MySQL as a back-" -"end):" -msgstr "" -"Пакет dbconfig-common настроит MySQL для этих прав " -"доступа и создаст базу данных за вас. С OpenStack 2014.11 все пакеты " -"OpenStack в Debian исполняют следующий SQL запрос после создания базы данных " -"(если вы решили использовать MySQL в качестве бэкэнда):" - -msgid "" -"The call on openSUSE outputs a warning message when the " -"service uses SysV Init scripts instead of native systemd files. This warning " -"can be ignored." -msgstr "" -"Вызов на openSUSE выводит предупреждение, когда сервис " -"использует SysV инит скрипты вместо родных файлов systemd. Это " -"предупреждение можно игнорировать." - -msgid "The Block Storage service creates logical volumes in this volume group." -msgstr "" -"Служба Блочного Хранения будет создавать логические диски в этой группе " -"дисков." - -msgid "" -"The CirrOS image includes conventional user name/password authentication and " -"provides these credentials at the login prompt. After logging into CirrOS, " -"we recommend that you verify network connectivity using ." -msgstr "" -"Образ CirrOS включает обычную аутентификацию по имени/паролю и предоставляет " -"эти данные перед запросом входа. После входа в CirrOS, мы рекмендуем вам " -"проверить связь используя ." - -msgid "" -"The Debian OpenStack packages offer automation for this, so OpenStack users " -"do not have to manually edit the configuration files." -msgstr "" -"Пакеты OpenStack в Debian предлагают автоматизацию для этого, так что " -"пользователям OpenStack не нужно вручную редактировать файлы конфигурации." - -msgid "The Debian packages" -msgstr "Пакеты Debian" - -msgid "" -"The Identity Service is installed with MySQL as the database back end, " -"keystonedb as database name, and the localhost socket " -"file. The corresponding DNS will then be:" -msgstr "" -"Служба Идентификации устанавливается с MySQL в качестве бэкэнда, " -"keystonedb в качестве имени базы данных и файлом сокета " -"на локальной машине. Соответствующий DNS тогда будет:" - -msgid "" -"The Identity service manages a catalog of API endpoints associated with the " -"services in your OpenStack environment. Services use this catalog to " -"determine how to communicate with other services in your environment." -msgstr "" -"Сервис Identity управляет каталогом точек доступа API, связанных с сервисами " -"в вашем окружении OpenStack. Сервисы используют этот каталог, чтобы " -"определить как связываться с другими сервисами в вашем окружении." - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances." -msgstr "" -"Плагин ML2 использует механизм (агент) Open vSwitch (OVS), чтобы построить структуру виртуальной " -"сети для инстансов." - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances. However, the controller node does not need the OVS " -"components because it does not handle instance network traffic." -msgstr "" -"Плагин ML2 использует механизм (агент) Open vSwitch (OVS), чтобы построить структуру виртуальной " -"сети для инстансов. Однако, на управляющем узле не требуются компоненты OVS, " -"поскольку он не управляет траффиком сети инстансов." - -msgid "" -"The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the " -"virtual networking framework for instances." -msgstr "" -"Плагин ML2 использует механизм (агент) Open vSwitch (OVS) для построения " -"структуры виртуальной сети для инстансов." - -msgid "" -"The Networking service initialization scripts expect a symbolic link " -"/etc/neutron/plugin.ini pointing to the ML2 plug-in " -"configuration file, /etc/neutron/plugins/ml2/ml2_conf.ini. If this symbolic link does not exist, create it using the " -"following command:" -msgstr "" -"Скрипты инициализации службы Сети ожидают символической ссылки /" -"etc/neutron/plugin.ini, указывающей на файл конфигурации плагина " -"ML2, /etc/neutron/plugins/ml2/ml2_conf.ini. Если эта " -"символическая ссылка не существует, создайтей её следующей командой:" - -msgid "" -"The Networking service initialization scripts expect the variable " -"NEUTRON_PLUGIN_CONF in the /etc/sysconfig/" -"neutron file to reference the ML2 plug-in configuration file. " -"Edit the /etc/sysconfig/neutron file and add the " -"following:" -msgstr "" -"Скрипты инициализации службы Сети ожидают, что переменная " -"NEUTRON_PLUGIN_CONF в файле /etc/sysconfig/" -"neutron ссылается на файл конфигурации плагина ML2. " -"Отредактируйте файл /etc/sysconfig/neutron, добавив " -"следующее:" - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances." -msgstr "" -"Служба OVS предоставляет основную структуру виртуальной сети инстансам." - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances. The integration bridge br-int handles internal " -"instance network traffic within OVS. The external bridge br-ex handles external instance network traffic within OVS. The external " -"bridge requires a port on the physical external network interface to provide " -"instances with external network access. In essence, this port connects the " -"virtual and physical external networks in your environment." -msgstr "" -"Служба OVS предоставляет основную структуру виртуальной сети инстансам. " -"Внутренний мост br-int обрабатывает внутренний траффик " -"инстансов внутри OVS. Внешний мост br-ex обрабатывает " -"внешний траффик инстансов внутри OVS. Внешнему мосту требуется порт на " -"физическом внешнем сетевом интерфейсе, чтобы обеспечивать инстансы доступом " -"во внешнюю сеть. По сути, этот порт соединяет виртуальную и физическую " -"внешнюю сеть в вашей среде." - -msgid "" -"The OpenStack Object Storage services (swift) work together to provide " -"object storage and retrieval through a REST API. Your environment must at least include the Identity service " -"(keystone) prior to deploying Object Storage." -msgstr "" -"Службы Хранилища Объектов (swift) OpenStack работают вместе для обеспечения " -"хранения и скачивания объектов через REST API. Ваша среда должна как минимум содержать службу Идентификации " -"(keystone), чтобы развернуть Хранилище Объектов." - -msgid "" -"The Orchestration service automatically assigns the " -"heat_stack_user role to users that it creates during " -"stack deployment. By default, this role restricts API " -"operations. To avoid conflicts, do not add this role to users with the " -"heat_stack_owner role." -msgstr "" -"Сервис Оркестровки автоматически назначает роль heat_stack_user пользователям, которые создаёт во время разворачивания стека. По " -"умолчанию, эта роль ограничивает операции API. Чтобы " -"избежать конфликтов, не добавляйте эту роль пользователям с ролью " -"heat_stack_owner." - -msgid "The Python MySQL library is compatible with MariaDB." -msgstr "Библиотека Python MySQL совместима с MariaDB." - -msgid "" -"The automatic configuration process generates a self-signed SSL certificate. " -"Consider obtaining an official certificate for production environments." -msgstr "" -"Автоматическая настройка генерирует самоподписанный сертификат SSL. " -"Обдумайте получение официального сертификата для производственной среды." - -msgid "" -"The compute node handles connectivity and security groups for instances." -msgstr "" -"Вычислительный узел обрабатывает связность и группы безопасности для инстансов." - -msgid "" -"The dashboard enables web-based interactions with the OpenStack Compute " -"cloud controller through the OpenStack APIs." -msgstr "" -"Панель управления включает возможность операции с OpenStack Compute на " -"управляющем узел посредством OpenStack API." - -msgid "" -"The debconf system helps users configure the auth_uri, " -"identity_uri, admin_tenant_name, admin_user and admin_password options." -msgstr "" -"Система debconf помогает пользователям настроить параметры auth_uri, identity_uri, admin_tenant_name, " -"admin_user и admin_password." - -msgid "The example architecture assumes use of the following networks:" -msgstr "Пример архитектуры предполагает использование следующих сетей:" - -msgid "" -"The example architecture with OpenStack Networking (neutron) requires one " -"controller node, one network node, and at least one compute node. The " -"controller node contains one network interface on the management " -"network. The network node contains one network interface on the " -"management network, one on the instance tunnels network, and one on the external network. The " -"compute node contains one network interface on the management network and " -"one on the instance tunnels network." -msgstr "" -"Пример архитектуры с Сетью OpenStack (neutron) требует один управляющий " -"узел, один сетевой узел и как минимум один вычислительный узел. Управляющий " -"узел содержит один сетевой интерфейс в управляющей сети. Сетевой узел имеет один сетевой интерфейс в управляющей сети, " -"один в сети туннелей инстансов и один во " -"внешней сети. Вычислительный узел имеет один сетевой " -"интерфейс в управляющей сети и один интерфейс в сети туннелей инстансов." - -msgid "" -"The example architecture with legacy networking (nova-network) requires a " -"controller node and at least one compute node. The controller node contains " -"one network interface on the management network. The " -"compute node contains one network interface on the management network and " -"one on the external network." -msgstr "" -"Пример архитектуры со старой сетью (nova-network) требует управляющий узел и " -"как минимум один вычислительный узел. Управляющий узел содержит один сетевой " -"интерфейс в управляющей сети. Вычислительный узел " -"имеет один сетевой интерфейс в управляющей сети и один интерфейс во внешней " -"сети." - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the second interface as the external interface:" -msgstr "" -"Внешний интерфейс использует специальную конфигурацию без указания IP-" -"адреса. Настройте второй интерфейс как внешний:" - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the third interface as the external interface:" -msgstr "" -"Внешний интерфейс использует специальную конфигурацию без указания IP-" -"адреса. Настройте третий интерфейс как внешний:" - -msgid "" -"The external network typically provides Internet access for your instances. " -"By default, this network only allows Internet access from instances using Network Address Translation (NAT). You can enable Internet access to " -"individual instances using a floating IP address and " -"suitable security group rules. The admin tenant owns this network because it provides external network " -"access for multiple tenants." -msgstr "" -"Внешняя сеть обычно предоставляет доступ в интернет для ваших инстансов. По " -"умолчанию, эта сеть позволяет только Интернет доступ из " -"инстансов используя Трансляцию сетевых адресов (NAT). " -"Вы можете дать Интернет доступ к отдельным инстансам " -"используя внешний IP-адрес и подходящие правила " -"групп безопасности. Проект admin " -"является хозяином этой сети, поскольку она предоставляет доступ во внешнюю " -"сеть для множества арендаторов." - -msgid "The installation process for this package can take a while." -msgstr "Процесс установки этого пакета может занять некоторое время." - -msgid "" -"The network node primarily handles internal and external routing and " -"DHCP services for virtual networks." -msgstr "" -"Сетевой узел в первую очередь обрабатывает внутреннюю и внешнюю " -"маршрутизацию и службы DHCP для виртуальных сетей." - -msgid "" -"The network node runs the Networking plug-in and several agents that " -"provision tenant networks and provide switching, routing, NAT, and " -"DHCP services. This node also handles external " -"(Internet) connectivity for tenant virtual machine instances." -msgstr "" -"Сетевой узел содержит Сетевые плагины и несколько агентов, которые " -"обеспечивают сети арендаторов и предоставляют свичи, маршрутизаторы, " -"NAT и " -"DHCP. Этот узел так же занимается связью с внешней " -"сетью (Интернет) для виртуальных машин арендаторов." - -msgid "" -"The optional Block Storage node contains the disks that the Block Storage " -"service provisions for tenant virtual machine instances. You can run more " -"than one of these nodes." -msgstr "" -"Необязательный узел Блочного хранения содержит диски, которые служба " -"Блочного хранения предоставляет виртуальным машинам арендаторов. Вы можете " -"иметь более одного такого узла." - -msgid "" -"The optional Object Storage nodes contain the disks that the Object Storage " -"service uses for storing accounts, containers, and objects. You can run more " -"than two of these nodes. However, the minimal architecture example requires " -"two nodes." -msgstr "" -"Необязательные узлы Хранилища Объектов содержат диски, которые служба " -"Хранилища Объектов использует для хранения аккаунтов, контейнеров и " -"объектов. Вы можете иметь более двух таких узлов. Однако, минимальные " -"примерные архитектуры требуют двух узлов." - -msgid "The other directives concerning RabbitMQ will stay untouched." -msgstr "Остальные директивы, связанные с RabbitMQ, останутся нетронутыми." - -msgid "" -"The packages are signed by GPG key 893A90DAD85F9316. You should verify the " -"fingerprint of the imported GPG key before using it." -msgstr "" -"Пакеты подписаны GPG ключом 893A90DAD85F9316. Вам необходимо проверить " -"отпечаток импортированного GPG ключа, прежде чем использовать его." - -msgid "" -"The server component listens on all IP addresses and the proxy component " -"only listens on the management interface IP address of the compute node. The " -"base URL indicates the location where you can use a web browser to access " -"remote consoles of instances on this compute node." -msgstr "" -"Серверный компонент слушает на всех IP-адресах, а прокси компонент слушает " -"только на IP-адресе управляющего интерфейса вычислительного узла. Базовый " -"URL указывает адрес, на который вы можете зайти с помощью веб браузера, " -"чтобы получить доступ до удалённых консолей инстансов на вычислительном узле." - -msgid "" -"The status changes from BUILD to ACTIVE when your instance finishes the build process." -msgstr "" -"Статус изменится с BUILD на ACTIVE " -"когда инстанс закончит процесс создания." - -msgid "" -"The tenant network provides internal network access for instances. The " -"architecture isolates this type of network from other tenants. The " -"demo tenant owns this network because it only provides " -"network access for instances within it." -msgstr "" -"Сеть арендатора обеспечивает доступ инстансов ко внутренней сети. " -"Архитектура изолирует этот тип сети от других арендаторов. Проект " -"demo владеет данной сетью, поскольку она предоставляет " -"доступ только к инстансам внутри него." - -msgid "" -"Then, debconf does not prompt you." -msgstr "" -"Тогда, debconf не запрашивает " -"ничего у вас." - -msgid "" -"These screens appear when you re-configure the dbconfig-common package:" -msgstr "" -"Эти экраны появляются, когда вы перенастраиваете пакет dbconfig-" -"common:" - -msgid "" -"These steps reference example components created in previous chapters. You " -"must adjust certain values such as IP addresses to match your environment." -msgstr "" -"Эти шаги используют примеры компонент, созданных в предыдущих главах. Вам " -"необходимо изменить некоторые значения, такие как IP-адреса, в соответствии " -"с вашей средой." - -msgid "" -"This connection directive will be handled by the " -"dbconfig-common package, which provides a standard Debian " -"interface. It enables you to configure Debian database parameters. It " -"includes localized prompts for many languages and it supports the following " -"database backends: SQLite, MySQL, and PostgreSQL." -msgstr "" -"Директива connection будет обработана пакетом " -"dbconfig-common, который предоставляет стандартный " -"интерфейс Debian. Он позволит вам настроить параметры базы данных в Debian. " -"И включает локализованные вопросы для множества языков и поддерживает базы " -"данных: SQLite, MySQL и PostgreSQL." - -msgid "This caveat applies to most OpenStack packages in Wheezy." -msgstr "Это предостережение касается большинства пакетов OpenStack в Wheezy." - -msgid "" -"This chapter explains how to configure each node in the example architectures " -"including the two-node architecture with legacy networking and three-node architecture " -"with OpenStack Networking (neutron)." -msgstr "" -"Этот раздел объясняет как настроить каждый узел в примерах архитектур включая " -" двух-" -"узловую архитектуру со старой сетевой системой и трёх-узловую архитектуру " -"с сетью OpenStack (neutron)." - -msgid "This command provides no output." -msgstr "Эта команда ничего не выводит." - -msgid "This example deployment uses an Apache web server." -msgstr "Этот пример установки использует веб-сервер Apache." - -msgid "" -"This guide describes how to deploy these services in a functional test " -"environment and, by example, teaches you how to build a production " -"environment. Realistically, you would use automation tools such as Ansible, " -"Chef, and Puppet to deploy and manage a production environment." -msgstr "" -"Это руководство описывает, как развернуть эти службы в работоспособную " -"тестовую среду и, на примерах, научит вас, как создать среду для " -"производства. В действительности, вам стоит использовать инструменты " -"автоматизации, такие как Ansible, Chef, и Puppet для разворачивания и " -"управления производственной средой." - -msgid "" -"This information is stored in the configuration file for each service. For " -"example:" -msgstr "" -"Эта информация хранится в файле конфигурации для каждой службы. Например:" - -msgid "" -"This network does not require a gateway because communication only occurs " -"among network and compute nodes in your OpenStack environment." -msgstr "" -"Эта сеть не требует шлюза, поскольку коммуникации происходят только среди " -"сетевых и вычислительных узлов в вашей среде OpenStack." - -msgid "" -"This network requires a gateway to provide Internet access to all nodes for " -"administrative purposes such as package installation, security updates, " -"DNS, and NTP." -msgstr "" -"Этой сети требуется шлюз для предоставления доступа в Интернет всем узлам " -"для административных задач, таких как установка пакетов, обновления " -"безопасности, DNSи NTP." - -msgid "" -"This network requires a gateway to provide Internet access to instances in " -"your OpenStack environment." -msgstr "" -"Этой сети требуется шлюз для обеспечения доступа в Интернет инстансам в " -"вашей среде OpenStack." - -msgid "" -"This network shares the same subnet associated with " -"the physical network connected to the external interface on the compute node. You should specify an exclusive slice of " -"this subnet to prevent interference with other devices on the external " -"network." -msgstr "" -"Эта сеть делить подсеть с физической сетью, " -"подключенной к внешнему интерфейсу на вычислительном " -"узле. Вам необходимо указать эксклюзивный фрагмент этой подсети для " -"предотвращения помех с другими устройствами во внешней сети." - -msgid "" -"This section assumes that you are following the instructions in this guide " -"step-by-step to configure the first compute node. If you want to configure " -"additional compute nodes, prepare them in a similar fashion to the first " -"compute node in the example architectures section using the same networking service " -"as your existing environment. For either networking service, follow the " -"NTP configuration and OpenStack packages instructions. For " -"OpenStack Networking (neutron), also follow the OpenStack Networking compute node instructions. " -"For legacy networking (nova-network), also follow the legacy networking compute node instructions. Each " -"additional compute node requires unique IP addresses." -msgstr "" -"Этот раздел подразумевает, что вы следовали инструкциям шаг-в-шаг при " -"настройке первого вычислительного узла. Если вы хотите настроить " -"дополнительные вычислительные узлы, подготовьте их тем же образом, что и " -"первый вычислительный узел в разделе примеры архитектур используя ту же службу сети, что и " -"ваша существующая среда. Для обеих служб сети следуйте инструкциям настройка NTP и пакеты OpenStack. Для сети OpenStack (neutron), " -"так же следуйте инструкциям вычислительного узла OpenStack Networking. Для старой сети (nova-" -"network), так же следуйте инструкциям вычислительного узла старой сети. Каждый дополнительный " -"вычислительный узел требует уникального IP-адреса." - -msgid "" -"This section covers deployment of a simple flat network that provides IP addresses to your instances via DHCP. If your environment includes multiple compute nodes, the " -"multi-host feature provides redundancy by spreading " -"network functions across compute nodes." -msgstr "" -"Этот раздел охватывает установку простой плоской сети, которая предоставляет IP-адреса вашим инстансам через " -"DHCP. Если ваша среда включает множество " -"вычислительных узлов, особенность multi-host " -"предоставляет избыточность, распределяя сетевые функции между " -"вычислительными узлами." - -msgid "" -"This section describes how to install and configure storage nodes for the " -"Block Storage service. For simplicity, this configuration references one " -"storage node with an empty local block storage device /dev/sdb that contains a suitable partition table with one partition " -"/dev/sdb1 occupying the entire device. The service " -"provisions logical volumes on this device using the LVM driver and provides them to instances via iSCSI " -"transport. You can follow these instructions with minor modifications to " -"horizontally scale your environment with additional storage nodes." -msgstr "" -"Этот раздел описывает как установить и настроить узлы хранения для службы " -"Блочного Хранилища. Для простоты, эта конфигурация ссылается на один узел " -"хранения с пустым блочным устройством /dev/sdb, которое " -"содержит подходящую таблицу разделов с одним разделом /dev/sdb1 занимающим весь объём. Служба подготавливает логические диски на " -"устройстве используя драйвер LVM и предоставляет их " -"инстансам через транспорт iSCSI. Вы можете следовать данным " -"инструкциям с минимальными изменениями для горизонтального расширения вашей " -"среды дополнительными узлами хранения." - -msgid "" -"This section describes how to install and configure the Compute service on a " -"compute node. The service supports several hypervisors to deploy instances or VMs. For simplicity, this configuration uses the " -"QEMU hypervisor " -"with the KVM " -"extension on compute nodes that support hardware acceleration for virtual " -"machines. On legacy hardware, this configuration uses the generic QEMU " -"hypervisor. You can follow these instructions with minor modifications to " -"horizontally scale your environment with additional compute nodes." -msgstr "" -"Эта секция описывает, как установить и настроить службу Вычислений на " -"вычислительном узле. Служба поддерживает несколько гипервизоров для установки инстансов или ВМ. Для простоты, эта конфигурация использует " -"гипервизор QEMU с " -"расширением KVM на " -"вычислительных узлах, которые поддерживают аппаратное ускорение для " -"виртуальных машин. На устаревшем оборудовании, эта конфигурация использует " -"обычный гипервизор QEMU. Вы можете следовать данным инструкциям с " -"минимальными изменениями для горизонтального расширения вашей среды " -"дополнительными вычислительными узлами." - -msgid "" -"This section describes how to install and configure the Compute service, " -"code-named nova, on the controller node." -msgstr "" -"Этот раздел описывает, как установить и настроить службу Вычислений, " -"названную nova, на управляющем узле." - -msgid "" -"This section describes how to install and configure the dashboard on the " -"controller node." -msgstr "" -"Этот раздел описывает как установить и настроить панель управления на " -"управляющем узле." - -msgid "This section describes how to verify operation of the dashboard." -msgstr "Этот раздел описывает, как проверить работу панели управления." - -msgid "" -"This will configure the below directives (example from nova.conf):" -msgstr "" -"Это настроит следующие директивы (пример из nova.conf):" - -msgid "" -"Three-node architecture with OpenStack Networking (neutron) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"Трёх-узловая архитектура на основе сети OpenStack (neutron) и дополнительных " -"узлов для Блочной и Объектной службы хранения." - -msgid "To access your instance remotely" -msgstr "Для доступа к вашему инстансу удалённо:" - -msgid "To access your instance using a virtual console" -msgstr "Для доступа к инстансу используя виртуальную консоль:" - -msgid "To attach a Block Storage volume to your instance" -msgstr "Для подключения диска Блочного Хранилища к вашему инстансу" - -msgid "To configure Compute to use Networking" -msgstr "Для настройки службы Вычислений на использование службы Сети" - -msgid "To configure legacy networking" -msgstr "Для настройки старой сети" - -msgid "To configure name resolution:" -msgstr "Для настройки определения имён:" - -msgid "To configure networking:" -msgstr "Для настройки сети:" - -msgid "To configure prerequisites" -msgstr "Подготовка к установке" - -msgid "To configure the DHCP agent" -msgstr "Для настройки агента DHCP" - -msgid "To configure the Layer-3 (L3) agent" -msgstr "Для настройки агента Layer-3 (L3)" - -msgid "To configure the Modular Layer 2 (ML2) plug-in" -msgstr "Для настройки плагина Modular Layer 2 (ML2)" - -msgid "To configure the NTP service" -msgstr "Для настройки службы NTP" - -msgid "To configure the Networking common components" -msgstr "Для настройки общих компонентов службы Сети" - -msgid "To configure the Networking server component" -msgstr "Для настройки серверных компонент службы Сети" - -msgid "To configure the Open vSwitch (OVS) service" -msgstr "Для настройки службы Open vSwitch (OVS)" - -msgid "To configure the dashboard" -msgstr "Для настройки панели управления" - -msgid "To configure the metadata agent" -msgstr "Для настройки агента метаданных" - -msgid "" -"To create a router on the tenant network and attach the external and tenant " -"networks to it" -msgstr "" -"Для создания маршрутизатора в сети арендатора и подключения внешней сети и " -"сети арендаторов к нему" - -msgid "To create a subnet on the external network" -msgstr "Для создания подсети на внешней сети" - -msgid "To create a subnet on the tenant network" -msgstr "Для создания сети в сети арендатора" - -msgid "To create tenants, users, and roles" -msgstr "Для создания арендаторов, пользователей и ролей" - -msgid "To create the database, complete these steps:" -msgstr "Для создания базы данных, выполните следующие шаги:" - -msgid "To create the external network" -msgstr "Для создания внешней сети" - -msgid "To create the network" -msgstr "Для создания сети" - -msgid "To create the scripts" -msgstr "Для создания скриптов" - -msgid "To create the service credentials, complete these steps:" -msgstr "Для создания служебных учётных данных, выполните следующие шаги:" - -msgid "To create the tenant network" -msgstr "Для создания сети арендатора" - -msgid "To disable Network Manager" -msgstr "Для отключения сетевого менеджера" - -msgid "To enable the OpenStack repository" -msgstr "Для подключения репозитория OpenStack" - -msgid "To finalize installation" -msgstr "Завершение установки" - -msgid "To finalize the installation" -msgstr "Для завершения установки" - -msgid "To generate a key pair" -msgstr "Для генерации пары ключей" - -msgid "To install and configure Compute controller components" -msgstr "Для установки и настройки компонентов контроллера вычислений" - -msgid "To install and configure the Compute controller components" -msgstr "Для установки и настройки компонентов контроллера вычислений" - -msgid "To install and configure the Compute hypervisor components" -msgstr "Для установки и настройки компонентов гипервизора вычислений:" - -msgid "To install and configure the Networking components" -msgstr "Для установки и настройки Сетевых компонент" - -msgid "To install and configure the components" -msgstr "Установка и настройка компонентов" - -msgid "To install and configure the database server" -msgstr "Установка и настройка сервера баз данных" - -msgid "To install legacy networking components" -msgstr "Для установки компонентов старой сети" - -msgid "To install the NTP service" -msgstr "Для установки службы NTP" - -msgid "To install the Networking components" -msgstr "Для установки компонент Сети" - -msgid "To install the dashboard components" -msgstr "Для установки компонентов приборной панели" - -msgid "To launch an instance" -msgstr "Для запуска инстанса" - -msgid "" -"To launch an instance, you must at least specify the flavor, image name, " -"network, security group, key, and instance name." -msgstr "" -"Для запуска инстанса, вам необходимо как минимум выбрать схему, имя образа, " -"сеть, группу безопасности, ключ и имя инстанса." - -msgid "To load client environment scripts" -msgstr "Для загрузки скриптов клиентских сред" - -msgid "" -"To minimize clutter and provide more resources for OpenStack, we recommend a " -"minimal installation of your Linux distribution. Also, we strongly recommend " -"that you install a 64-bit version of your distribution on at least the " -"compute node. If you install a 32-bit version of your distribution on the " -"compute node, attempting to start an instance using a 64-bit image will fail." -msgstr "" -"Для уменьшения беспорядка и предоставления больших ресурсов OpenStack, мы " -"рекомендуем минимальную остановку вашего дистрибутива Linux. Кроме того, мы " -"настоятельно рекомендуем устанавливать 64-битныую версию вашего дистрибутива " -"как минимум на вычислительный узел. Если вы установите 32-битную версию " -"вашего дистрибутива на вычислительный узел, вы не сможете запускать инстансы " -"64-битных образов." - -msgid "" -"To temporarily disable GRO on the external network interface while testing " -"your environment:" -msgstr "" -"Для временного отключения GRO на внешнем сетевом интерфейсе на время " -"тестирования вашей среды:" - -msgid "To use the Debian Wheezy backports archive for Juno" -msgstr "" -"Чтобы использовать архив перенесённых пакетов для Juno под Debian Wheezy" - -msgid "" -"To use the VNC client with the dashboard, the browser must support HTML5 " -"Canvas and HTML5 WebSockets." -msgstr "" -"Для работы VNC в панели управления ваш браузер должен поддерживать HTML5 " -"Canvas и HTML5 WebSockets." - -msgid "To verify network connectivity" -msgstr "Для проверки связности сети" - -msgid "" -"Tunneling protocols such as GRE include additional packet headers that " -"increase overhead and decrease space available for the payload or user data. " -"Without knowledge of the virtual network infrastructure, instances attempt " -"to send packets using the default Ethernet maximum transmission " -"unit (MTU) of 1500 bytes. Internet protocol (IP) networks contain the path MTU discovery (PMTUD) mechanism to detect end-to-end MTU and adjust packet size " -"accordingly. However, some operating systems and networks block or otherwise " -"lack support for PMTUD causing performance degradation or connectivity " -"failure." -msgstr "" -"Туннелирующие протоколы, такие как GRE, включают дополнительные заголовки " -"пакетов, которые увеличивают накладные расходы и уменьшают доступное " -"пространство для полезных и пользовательских данных. Без знания об " -"инфраструктуре виртуальной сети, инстансы пытаются посылать пакеты используя " -"стандартные для Ethernet maximum transmission unit (MTU) в 1500 байт. Протокол Internet protocol (IP) содержит механизм path MTU discovery (PMTUD) для определения MTU между концами и соответствующего изменения " -"размера пакета. Однако, некоторые операционные системы и сети блокируют или " -"не имеют поддержки PMTUD, что приводит к падению производительности или " -"проблемам со связью." - -msgid "" -"Two-node architecture with legacy networking (nova-network) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"Двух-узловая архитектура на основе старой сети (nova-network) и " -"дополнительных узлов для Блочной и Объектной службы хранения." - -msgid "USER" -msgstr "USER" - -msgid "Ubuntu 14.04" -msgstr "Ubuntu 14.04" - -msgid "" -"Ubuntu installs the openstack-dashboard-ubuntu-theme " -"package as a dependency. Some users reported issues with this theme in " -"previous releases. If you encounter issues, remove this package to restore " -"the original OpenStack theme." -msgstr "" -"Ubuntu устанавливает пакет openstack-dashboard-ubuntu-theme как зависимость. Некоторые пользователи сообщали о проблемах с этой " -"темой в предыдущих выпусках. Если вы столкнётесь с проблемами, удалите этот " -"пакет, чтобы восстановить оригинальную тему OpenStack." - -msgid "" -"Unless you have a unique set up for your network, press ENTER." -msgstr "" -"Если у вас нет уникально настроенной сети, нажмите ENTER." - -msgid "" -"Unless you intend to use the exact configuration provided in this example " -"architecture, you must modify the networks in this procedure to match your " -"environment. Also, each node must resolve the other nodes by name in " -"addition to IP address. For example, the controller name must resolve to 10.0.0.11, the IP " -"address of the management interface on the controller node." -msgstr "" -"Если вы не собираетесь воссоздавать в точности приведённую в этом примере " -"архитектуру, вам необходимо поменять сети в этой процедуре в соответствии с " -"вашей средой. Кроме того, каждый узел должен определять другие узлы по имени " -"в дополнение к IP-адресу. Например, имя controller должно определяться как 10.0.0.11, IP-адрес " -"интерфейса управляющей сети на управляющем узле." - -msgid "" -"Unlike other debconf prompts, you cannot pre-seed the " -"responses for the dbconfig-common prompts by using " -". Instead, you must create a file in /etc/dbconfig-" -"common. For example, you might create a keystone configuration " -"file for dbconfig-common that is located in /" -"etc/dbconfig-common/keystone.conf, as follows:" -msgstr "" -"В отличие от других запросов debconf, вы не можете " -"преднастроить ответы на запросы dbconfig-common используя " -". Вместо этого, вы можете создать файл конфигурации keystone " -"для dbconfig-common, который расположен в /etc/" -"dbconfig-common/keystone.conf, следующим образом:" - -msgid "" -"Update the package database, upgrade your system, and reboot for all changes " -"to take effect:" -msgstr "" -"Обновите базу данных пакетов, обновите систему и перезагрузите её для " -"принятия всех изменений:" - -msgid "Update the repository database and install the key:" -msgstr "Обновите базу данных репозитория и установите ключ:" - -msgid "Upgrade the packages on your system:" -msgstr "Обновите пакеты в своей системе:" - -msgid "Use the YaST network module:" -msgstr "Используйте сетевой модуль YaST:" - -msgid "" -"Use the database access client to connect to the database server as the " -"root user:" -msgstr "" -"Используйте клиент базы данных, чтобы соединиться с ней как пользователь " -"root:" - -msgid "" -"Use the random value that you generated in a previous step. If you install " -"using non-interactive mode or you do not specify this token, the " -"configuration tool generates a random value." -msgstr "" -"Используйте случайную строку, которую вы сгенерировали на предыдущем шаге. " -"Если вы устанавливаете в неинтерактивном режиме или не укажете этот токен, " -"инструмент настройки задаст случайное значение." - -msgid "Verify addition of the public key:" -msgstr "Проверьте добавление публичного ключа:" - -msgid "Verify connectivity" -msgstr "Проверка соединения" - -msgid "Verify creation of the network:" -msgstr "Проверьте, создалась ли сеть:" - -msgid "" -"Verify network connectivity using from the controller node " -"or any host on the external network:" -msgstr "" -"Проверьте связность сети используя с управляющего узла или " -"любого хоста во внешней сети:" - -msgid "Verify operation" -msgstr "Проверьте работу" - -msgid "Verify the demo-net network:" -msgstr "Проверьте сеть demo-net:" - -msgid "Verify the demo-net tenant network gateway:" -msgstr "Проверьте шлюз сети арендатора demo-net:" - -msgid "Verify the ext-net external network:" -msgstr "Проверьте внешнюю сеть ext-net:" - -msgid "Verify the Telemetry installation" -msgstr "Проверка установки Телеметрии" - -msgid "Verify the ring contents:" -msgstr "Проверьте содержимое кольца:" - -msgid "" -"We recommend that you verify NTP synchronization before proceeding further. " -"Some nodes, particularly those that reference the controller node, can take " -"several minutes to synchronize." -msgstr "" -"Мы рекомендуем вам проверить синхронизацию NTP перед тем, как двигаться " -"дальше. Некоторым узлам, особенно тем, которые используют управляющий узел, " -"может потребоваться несколько минут." - -msgid "" -"We recommend that you verify network connectivity and resolve any issues " -"before proceeding further. Following the external network subnet example " -"using 203.0.113.0/24, the tenant router gateway should " -"occupy the lowest IP address in the floating IP address range, " -"203.0.113.101. If you configured your external physical " -"network and virtual networks correctly, you should be able to this IP address from any host on your external physical network." -msgstr "" -"Мы рекомендуем вам проверить связность сети и решить все проблемы прежде чем " -"продолжать дальше. Используя пример подсети внешней сети использующий " -"203.0.113.0/24, шлюз маршрутизатора арендатора должен " -"занять самый нижний IP-адрес в диапозоне внешних IP-адресов, " -"203.0.113.101. Если вы настроили ваши внешнюю физческую и " -"виртуальную сеть правильно, у вас получится сделать на этот " -"IP адрес с любого хоста в вашей внешней физической сети." - -msgid "" -"We recommend that you verify network connectivity to the Internet and among " -"the nodes before proceeding further." -msgstr "" -"Мы рекомендуем проверить связь с Интернетом и между узлами перед тем как " -"двигаться дальше." - -msgid "" -"When you implement this architecture, skip in . To use optional " -"services, you might need to build additional nodes, as described in " -"subsequent chapters." -msgstr "" -"Когда вы воссоздадите эту архитектуру, перейдите к в . Для " -"использования дополнительных служб, вам может потребоваться создать " -"дополнительные узлы, как описанов в последующих разделах." - -msgid "" -"When you implement this architecture, skip in . Optional services might " -"require additional nodes or additional resources on existing nodes." -msgstr "" -"Когда вы воссоздадите эту архитектуру, перейдите к в . " -"Дополнительные службы могут потребовать дополнительные узлы или " -"дополнительные ресурсы на имеющихся узлах." - -msgid "You can also reference a flavor by ID." -msgstr "Вы так же можете указывать схему по ID." - -msgid "" -"You can modify these ranges and gateways to work with your particular " -"network infrastructure." -msgstr "" -"Вы можете изменить эти диапазоны согласно вашей сетевой инфраструктуре." - -msgid "" -"You must add the heat_stack_owner role to users that " -"manage stacks." -msgstr "" -"Вам небходимо добавить роль heat_stack_owner " -"пользователям, которые управляют стеком." - -msgid "" -"You must configure the storage node before you install and configure the " -"volume service on it. Similar to the controller node, the storage node " -"contains one network interface on the management network. The storage node also needs an empty block storage device of " -"suitable size for your environment. For more information, see ." -msgstr "" -"Вам необходимо настроить узел хранилища, прежде чем вы установите и " -"настроите службу дисков на нём. Так же как управляющий узел, узел хранилища " -"содержит один сетевой интерфейс в управляющей сети. " -"Узел хранилища так же требует пустое блочное устройство подходящего для " -"вашей среды размера. Подробнее смотрите в ." - -msgid "You must create a partition table and file system to use the volume." -msgstr "" -"Вам необходимо создать таблицу разделов и файловую систему, чтобы " -"использовать диск." - -msgid "" -"You must enable remote access before you install OpenStack services on " -"multiple nodes." -msgstr "" -"Вам необходимо включить удалённый доступ, прежде чем устанавливать службы " -"OpenStack на несколько узлов." - -msgid "" -"You must install NTP to properly synchronize services among nodes. We recommend that " -"you configure the controller node to reference more accurate (lower stratum) " -"servers and other nodes to reference the controller node." -msgstr "" -"Вам необходимо установить NTP, чтобы правильно синхронизировать службы между " -"узлами. Мы рекомендуем настроить управляющий узел на использование более " -"точных (нижнего уровня) серверов и другие узлы на использование управляющего " -"узла." - -msgid "You must reference volumes using the IDs instead of names." -msgstr "Вам необходимо указывать диски по ID вместо имён." - -msgid "" -"You must source the admin tenant credentials for this " -"step and then source the demo tenant credentials for the " -"remaining steps." -msgstr "" -"Вам необходимо загрузить учётные данные арендатора admin " -"для этого шага и затем учётные данные арендатора demo для " -"последующих шагов." - -msgid "" -"You must use an account with administrative privileges to configure each " -"node. Either run the commands as the root user or " -"configure the sudo utility." -msgstr "" -"Вам необходимо использовать аккаунт с административными привилегиями для " -"настройки каждого узла. Исполняйте команды от пользователя root или настройте утилиту sudo." - -msgid "" -"Your OpenStack environment now includes Block Storage. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Ваша среда OpenStack теперь включает Блочное Хранилище. Вы можете запустить инстанс или добавить ещё службы " -"к вашей среде в последующих разделах руководства." - -msgid "" -"Your OpenStack environment now includes Object Storage. You can launch an instance or add more services " -"to your environment in the following chapters." -msgstr "" -"Ваша среда OpenStack теперь включает Хранилище Объектов. Вы можете запустить инстанс или добавить ещё службы " -"к вашей среде в последующих разделах руководства." - -msgid "" -"Your OpenStack environment now includes Orchestration. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Ваша среда OpenStack теперь включает Оркестровку. Вы можете запустить инстанс или добавить ещё службы к вашей " -"среде в последующих разделах руководства." - -msgid "" -"Your OpenStack environment now includes Telemetry. You can launch an instance or add more services to your " -"environment in the previous chapters." -msgstr "" -"Ваша среда OpenStack теперь включает Телеметрию. Вы можете запустить инстанс или добавить ещё службы к вашей " -"среде в предыдущих разделах руководства." - -msgid "" -"Your OpenStack environment now includes the core components necessary to " -"launch a basic instance. You can launch an " -"instance or add more OpenStack services to your environment." -msgstr "" -"Ваша среда OpenStack теперь содержит основные компоненты, необходимы для " -"запуска базовой простой машины. Вы можете запустить инстанс или добавить ещё службы OpenStack к вашей среде." - -msgid "" -"Your OpenStack environment now includes the dashboard. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Ваша среда OpenStack теперь включает панель управления. Вы можете запустить инстанс или добавить ещё службы " -"к вашей среде в последующих разделах руководства." - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"Ваш первый инстанс использует группу безопасности default. По умолчанию эта группа безопасности создаёт межсетевой экран, " -"блокирующий удалённый доступ к инстансам. Если вы хотите разрешить удалённый " -"доступ к вашему инстансу, запустите его и потом настройте удалённый доступ." - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"Ваш первый инстанс использую группу безопасности default. " -"По умолчанию, эта группа безопасности создаёт межсетевой экран, блокирующий " -"удалённый доступ к инстансам. Если вы хотите разрешить удалённый доступ к " -"вашему инстансу, запустите его и потом настройте удалённый доступ." - -msgid "" -"Your first instance uses the demo-net tenant network. " -"However, you must reference this network using the ID instead of the name." -msgstr "" -"Ваш первый инстанс использует сеть demo-net арендатора. " -"Однако, вам необходимо указать эту сеть по ID вместо имени." - -msgid "Your first instance uses the m1.tiny flavor." -msgstr "Ваш первый инстанс использует схему m1.tiny." - -msgid "api-paste.ini" -msgstr "api-paste.ini" - -msgid "ceilometer" -msgstr "ceilometer" - -msgid "cinder" -msgstr "cinder" - -msgid "compute1" -msgstr "compute1" - -msgid "controller" -msgstr "controller" - -msgid "datastore_manager" -msgstr "datastore_manager" - -msgid "datastore_name" -msgstr "datastore_name" - -msgid "datastore_version" -msgstr "datastore_version" - -msgid "debconf concepts" -msgstr "концепция debconf" - -msgid "demo-instance1" -msgstr "demo-instance1" - -msgid "glance" -msgstr "glance" - -msgid "glance_image_ID" -msgstr "glance_image_ID" - -msgid "glance_image_id" -msgstr "glance_image_id" - -msgid "guest" -msgstr "guest" - -msgid "heat" -msgstr "heat" - -msgid "keystone" -msgstr "keystone" - -msgid "kilo" -msgstr "kilo" - -msgid "name" -msgstr "имя" - -msgid "network" -msgstr "network" - -msgid "neutron" -msgstr "neutron" - -msgid "nova" -msgstr "nova" - -msgid "openSUSE and SUSE Linux Enterprise Server" -msgstr "openSUSE и SUSE Linux Enterprise Server" - -msgid "swift" -msgstr "swift" - -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -msgid "translator-credits" -msgstr "" -"Ainur Shakirov , 2014\n" -"Aleksey Rusetskiy , 2015" - -msgid "trove" -msgstr "trove" - -msgid "trove-conductor.conf" -msgstr "trove-conductor.conf" - -msgid "trove-taskmanager.conf" -msgstr "trove-taskmanager.conf" - -msgid "trove.conf" -msgstr "trove.conf" - -msgid "version_name" -msgstr "version_name" diff --git a/doc/install-guide/locale/vi_VN.po b/doc/install-guide/locale/vi_VN.po deleted file mode 100644 index a9d2b1eb94..0000000000 --- a/doc/install-guide/locale/vi_VN.po +++ /dev/null @@ -1,8002 +0,0 @@ -# -# Translators: -# CongTo , 2015 -# Hoang Thi Tho , 2015 -# Nguyen Minh Quan , 2015 -# Nguyen Trung Kien , 2015 -# Quảng Hà Nguyễn , 2015 -msgid "" -msgstr "" -"Project-Id-Version: OpenStack Manuals\n" -"POT-Creation-Date: 2015-08-11 05:11+0000\n" -"PO-Revision-Date: 2015-08-10 06:25+0000\n" -"Last-Translator: openstackjenkins \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/openstack/" -"openstack-manuals-i18n/language/vi_VN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "(Optional)" -msgstr "(Không bắt buộc)" - -msgid "" -"(Optional) To assist with troubleshooting, enable verbose logging in the " -"[DEFAULT] section:" -msgstr "" -"(Không bắt buộc) Để hỗ trợ xử lý sự cố, bật verbose logging trong mục " -"[DEFAULT]:" - -msgid "/" -msgstr "/" - -msgid "/etc//validation-rules.json" -msgstr "/etc//validation-rules.json" - -msgid "160" -msgstr "160" - -msgid "161" -msgstr "161" - -msgid "162" -msgstr "162" - -msgid "163" -msgstr "163" - -msgid "164" -msgstr "164" - -msgid "165" -msgstr "165" - -msgid "166" -msgstr "166" - -msgid "187" -msgstr "187" - -msgid "2012" -msgstr "2012" - -msgid "2013" -msgstr "2013" - -msgid "2014" -msgstr "2014" - -msgid "2015" -msgstr "2015" - -msgid "96" -msgstr "96" - -msgid "" -"python-keystoneclient will automatically be installed as " -"it is a dependency of the keystone package." -msgstr "" -"python-keystoneclient được tự động cài vì đây là gói phần " -"mềm mà keystone phụ thuộc vào." - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguide-neutron-initialnetworks.png'; " -"md5=f77c580f44d340221742a6a1ac443b33" -msgstr "" -"@@image: '../common/figures/installguide-neutron-initialnetworks.png'; " -"md5=f77c580f44d340221742a6a1ac443b33" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-hw.png'; " -"md5=256987507b566287c69081c1b1083941" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-hw.png'; " -"md5=256987507b566287c69081c1b1083941" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-networks.png'; " -"md5=e9bc3993ebae65063c83a7fcbe779ad2" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-networks.png'; " -"md5=e9bc3993ebae65063c83a7fcbe779ad2" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-services.png'; " -"md5=bba84d5b30fc9ed13391738d072c376a" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-services.png'; " -"md5=bba84d5b30fc9ed13391738d072c376a" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-hw.png'; " -"md5=2868ba248354a3ff4a4bb5a39e1a6261" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-hw.png'; " -"md5=2868ba248354a3ff4a4bb5a39e1a6261" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-networks.png'; " -"md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-networks.png'; " -"md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-services.png'; " -"md5=5c151372a5eeb4f07c537c37cd956e22" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-services.png'; " -"md5=5c151372a5eeb4f07c537c37cd956e22" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/openstack_kilo_conceptual_arch.png'; " -"md5=75711ac48a6bdac83020ae2677064023" -msgstr "" -"@@image: '../common/figures/openstack_kilo_conceptual_arch.png'; " -"md5=75711ac48a6bdac83020ae2677064023" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; " -"md5=d534be231be4f725820a1050fbf44231" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; " -"md5=d534be231be4f725820a1050fbf44231" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip." -"png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip." -"png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken." -"png'; md5=1f3b05ebe671f64d672ac70d246e4f39" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken." -"png'; md5=1f3b05ebe671f64d672ac70d246e4f39" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-" -"endpoint_4_service_endpoint_ip_address.png'; " -"md5=6853f0ae2ef8d5fddb22c466d465de15" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-" -"endpoint_4_service_endpoint_ip_address.png'; " -"md5=6853f0ae2ef8d5fddb22c466d465de15" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; " -"md5=a6bce0acf5a1cb85f161290f0cf30733" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; " -"md5=a6bce0acf5a1cb85f161290f0cf30733" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-" -"dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-" -"dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; " -"md5=a77beb7e13b487cf79716c2140f258c2" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; " -"md5=a77beb7e13b487cf79716c2140f258c2" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method." -"png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method." -"png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password." -"png'; md5=873ec338742e37305583e9e692bcfdc6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password." -"png'; md5=873ec338742e37305583e9e692bcfdc6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password." -"png'; md5=3651970770d05892f21d1b5741afbee6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password." -"png'; md5=3651970770d05892f21d1b5741afbee6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-" -"common_6_mysql_app_password_confirm.png'; " -"md5=060cc90aaf6f6fd5cea718064829c1b1" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-" -"common_6_mysql_app_password_confirm.png'; " -"md5=060cc90aaf6f6fd5cea718064829c1b1" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; " -"md5=01af4867c16e458306b8abd78a1fccc9" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; " -"md5=01af4867c16e458306b8abd78a1fccc9" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db." -"png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db." -"png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; " -"md5=78bef92c36a140ad042074f6345d8917" -msgstr "" -"@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; " -"md5=78bef92c36a140ad042074f6345d8917" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; " -"md5=29a51caaf09c3d6e3f0fda73c256a17a" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; " -"md5=29a51caaf09c3d6e3f0fda73c256a17a" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"keystone_2_register_admin_tenant_yes_no.png'; " -"md5=25c9a90b1df2d979aae6ce9975c7285b" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"keystone_2_register_admin_tenant_yes_no.png'; " -"md5=25c9a90b1df2d979aae6ce9975c7285b" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; " -"md5=173cf7ed13252df1425109be588b2ad6" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; " -"md5=173cf7ed13252df1425109be588b2ad6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; " -"md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; " -"md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; " -"md5=e6b32d8d80af90f07a66abc8fb256c84" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; " -"md5=e6b32d8d80af90f07a66abc8fb256c84" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm." -"png'; md5=1fbf9223e4923c93030d53278d1771cc" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm." -"png'; md5=1fbf9223e4923c93030d53278d1771cc" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; " -"md5=d24d84133bfee936267e79631a2666e6" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; " -"md5=d24d84133bfee936267e79631a2666e6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; " -"md5=adf41c33778a691a560b7098908792db" -msgstr "" -"@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; " -"md5=adf41c33778a691a560b7098908792db" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; " -"md5=5353ad857884a2d31847cf82efbdc6b6" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; " -"md5=5353ad857884a2d31847cf82efbdc6b6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; " -"md5=6385185200d20e96b6316ae15ae1255d" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; " -"md5=6385185200d20e96b6316ae15ae1255d" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; " -"md5=33a3c1182e79ed65f1b1b63f2156792c" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; " -"md5=33a3c1182e79ed65f1b1b63f2156792c" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_password.png'; " -"md5=0c30c80315d5e636dbe93a938fc2822b" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_password.png'; " -"md5=0c30c80315d5e636dbe93a938fc2822b" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_tenant_name.png'; " -"md5=a935563e4fba9b00040e35cdcfffc732" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_tenant_name.png'; " -"md5=a935563e4fba9b00040e35cdcfffc732" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_server_hostname.png'; " -"md5=aafd53894e1d960531d4901123952117" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_server_hostname.png'; " -"md5=aafd53894e1d960531d4901123952117" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_tenant_admin_user.png'; " -"md5=fe3dc93c591b3e9783d4d05556efcf25" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_tenant_admin_user.png'; " -"md5=fe3dc93c591b3e9783d4d05556efcf25" - -msgid "" -"A flavor specifies a virtual resource allocation profile which includes " -"processor, memory, and storage." -msgstr "" -"Một flavor chỉ rõ một hồ sơ phân bổ nguồn lực ảo bao gồm bộ xử lý, bộ nhớ và " -"kho lưu trữ." - -msgid "" -"A single disk partition on each node works for most basic installations. " -"However, you should consider Logical Volume Manager (LVM) for installations with optional services such as Block Storage." -msgstr "" -"Thường thì phân vùng một ổ đĩa duy nhất trên từng node là đủ để chạy hầu hết " -"các cài đặt cơ bản. Tuy nhiên, bạn nên cân nhắc sử dụng Trình " -"quản lý Ổ lưu trữ Logic (LVM) khi cài đặt các dịch vụ tùy chọn " -"như Block Storage." - -msgid "" -"A virtual router passes network traffic between two or more virtual " -"networks. Each router requires one or more interfaces and/or gateways that provide access to specific " -"networks. In this case, you create a router and attach your tenant and " -"external networks to it." -msgstr "" -"Một router ảo cho phép lưu thông giữa 2 hoặc nhiều mạng ảo. Mỗi router cần " -"một hoặc nhiều giao diện và/" -"hoặc gateway cung cấp để cung cấp truy cập vào các hệ thống mạng cụ thể. " -"Trong trường hợp này, bạn sẽ tạo ra một router và kết nối hệ thống mạng " -"tenant và ngoại vùng của bạn vào đó." - -msgid "ADMIN_PASS" -msgstr "ADMIN_PASS" - -msgid "ADMIN_TOKEN" -msgstr "ADMIN_TOKEN" - -msgid "" -"Ability to take periodic \"snap shots\" throughout the installation process " -"and \"roll back\" to a working configuration in the event of a problem." -msgstr "" -"Khả năng \"chụp lại\" các trạng thái trong quá trình cài đặt và \"đưa về\" " -"lại các trạng thái này khi hệ thống xảy ra sự cố." - -msgid "" -"Access the dashboard using a web browser: http://" -"controller/horizonhttps://controller/http://controller/dashboardhttp://controller." -msgstr "" -"Truy cập vào dashboard sử dụng trình duyệt web: http://" -"controller/horizonhttps://controller/http://controller/dashboardhttp://controller." - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network and use the command to verify presence of " -"the volume as the /dev/vdb block storage device:" -msgstr "" -"Truy cập và instance của bạn bằng cách sử dụng SSH từ node điều khiển hoặc " -"bất kì máy vật lý nào trên hệ thống mạng ngoại vùng và sử dụng lệnh " -" để xác nhận sự hiện diện của ổ lưu trữ là thiết bị block " -"storage /dev/vdb:" - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network:" -msgstr "" -"Truy cập vào instance của bạn bằng cách sử dụng SSH từ node điều khiển hoặc " -"bất kỳ máy vật lý nào trên hệ thống mạng ngoại vùng:" - -msgid "Account ring" -msgstr "Account ring" - -msgid "Add Object Storage" -msgstr "Thêm dịch vụ Object Storage" - -msgid "" -"Add a [database] section, and configure database access:" -msgstr "" -"Thêm vào mục [database] và cấu hình truy cập cơ sở dữ " -"liệu:" - -msgid "Add a networking component" -msgstr "Thêm một thành phần networking" - -msgid "Add each storage node to the ring:" -msgstr "Thêm từng node lưu trữ vào ring:" - -msgid "Add rules to the default security group:" -msgstr "Thêm các luật cho nhóm bảo mật default:" - -msgid "" -"Add the ResellerAdmin role to the service tenant and ceilometer user:" -msgstr "" -"Thêm role ResellerAdmin cho tenant service và user ceilometer:" - -msgid "" -"Add the admin role to the admin " -"project and user:" -msgstr "" -"Thêm vai trò admin vào cho project và người dùng " -"admin: " - -msgid "" -"Add the admin role to the ceilometer " -"user." -msgstr "" -"Thêm vai trò admin vào trong người dùng " -"ceilometer." - -msgid "" -"Add the admin role to the cinder user:" -msgstr "" -"Cấp phát quyền admin cho tài khoản người dùng " -"cinder:" - -msgid "" -"Add the admin role to the glance user " -"and service project:" -msgstr "" -"Thêm vai trò admin vào trong người dùng glance và project service:" - -msgid "" -"Add the admin role to the heat user:" -msgstr "" -"Thêm vai trò admin vào trong người dùng heat:" - -msgid "" -"Add the admin role to the neutron user:" -msgstr "" -"Thêm vai trò admin vào trong người dùng neutron:" - -msgid "" -"Add the admin role to the nova user:" -msgstr "" -"Thêm vai trò admin vào trong người dùng nova:" - -msgid "" -"Add the admin role to the sahara user:" -msgstr "" -"Thêm role admin vào người dùng sahara: " - -msgid "" -"Add the admin role to the swift user:" -msgstr "" -"Thêm vai trò admin vào trong người dùng swift:" - -msgid "" -"Add the admin role to the trove user:" -msgstr "" -"Thêm vai trò admin vào trong người dùng trove:" - -msgid "" -"Add the heat_stack_owner role to the demo tenant and user:" -msgstr "" -"Thêm vai trò heat_stack_owner vào trong tenant và người " -"dùng demo:" - -msgid "Add the openstack user:" -msgstr "Thêm người dùng openstack:" - -msgid "" -"Add the swift system user to the ceilometer system group to permit access to the Telemetry configuration files " -"by the Object Storage service:" -msgstr "" -"Thêm người dùng hệ thống swift vào nhóm hệ thống " -"ceilometer để cho phép truy nhập tới các file cấu hình " -"Telemetry bởi dịch vụ Object Storage:" - -msgid "" -"Add the user role to the demo project " -"and user:" -msgstr "" -"Thêm role user cho dự án và người dùng demo:" - -msgid "Add the Block Storage service" -msgstr "Thêm dịch vụ Block Storage" - -msgid "Add the Compute service" -msgstr "Thêm dịch vụ Compute" - -msgid "Add the Data processing service" -msgstr "Thêm dịch vụ xử lý Dữ liệu" - -msgid "Add the Database service" -msgstr "Thêm dịch vụ Database" - -msgid "Add the Identity service" -msgstr "Thêm dịch vụ Identity" - -msgid "Add the Image service" -msgstr "Thêm dịch vụ Image" - -msgid "Add the Orchestration module" -msgstr "Thêm mô đun Orchestration" - -msgid "Add the Telemetry module" -msgstr "Thêm module Telemetry" - -msgid "Add the dashboard" -msgstr "Thêm dashboard" - -msgid "Add the following lines to trove-guestagent.conf:" -msgstr "" -"Thêm các dòng sau vào thư mục trove-guestagent.conf:" - -msgid "Add the public key to your OpenStack environment:" -msgstr "Thêm khóa công khai cho môi trường OpenStack của bạn:" - -msgid "Additional compute nodes should use 10.0.0.32, 10.0.0.33, and so on." -msgstr "" -"Các node tính toán thêm vào sau nên sử dụng các địa chỉ từ 10.0.0.32, " -"10.0.0.33 và tăng dần." - -msgid "Additional compute nodes should use 10.0.1.32, 10.0.1.33, and so on." -msgstr "" -"Các node tính toán thêm vào sau nên sử dụng các địa chỉ từ 10.0.1.32, " -"10.0.1.33 và tăng dần." - -msgid "Adjust ownership and permissions on this directory and the files in it:" -msgstr "Thay đổi chủ sở hữu và các quyền trên thư mục và các file trong nó:" - -msgid "" -"After installing the operating system on each node for the architecture that " -"you choose to deploy, you must configure the network interfaces. We " -"recommend that you disable any automated network management tools and " -"manually edit the appropriate configuration files for your distribution. For " -"more information on how to configure networking on your distribution, see " -"the documentation.documentation.documentation.SLES 12 or openSUSE documentation." -msgstr "" -"Sau khi cài đặt hệ điều hành trên từng node của kiến trúc mà bạn chọn để " -"triển khai, bạn phải cấu hình các giao diện mạng. Chúng tôi khuyên bạn nên " -"tắt tất cả các công cụ tự động quản lý mạng và chỉnh sửa bằng tay các file " -"cấu hình phù hợp cho triển khai của bạn. Để biết thêm thông tin về cách cấu " -"hình hệ thống mạng cho triển khai của bạn, xem tài liệu.tài liệu.tài liệu.tài liệu SLES 12 hoặc openSUSE." -"" - -msgid "After you create this file, run this command:" -msgstr "Sau khi bạn tạo file này, chạy câu lệnh:" - -msgid "" -"After you install and configure the dashboard, you can complete the " -"following tasks:" -msgstr "" -"Sau khi cài đặt và cấu hình dashboard bạn có thể thực hiện các tác vụ sau:" - -msgid "" -"All Debian packages for API services, except the heat-api " -"package, register the service in the Identity Service catalog. This feature " -"is helpful because API endpoints are difficult to remember." -msgstr "" -"Tất cả các gói Debian dành cho các dịch vụ API, trừ gói heat-api, đều đăng ký dịch vụ trong danh mục Dịch vụ Identity. Tính năng này " -"hữu ích bởi vì các API endpoint thường khó nhớ." - -msgid "" -"All OpenStack packages are written in Python. All packages support version " -"2.7; porting to Python version 3 is ongoing. Note that Debian Wheezy uses " -"Python 2.6 and 2.7, with Python 2.7 as the default interpreter; Sid has only " -"Python 2.7. There is one packaging change between these two. In Python 2.6, " -"you installed the python-argparse package separately. In " -"Python 2.7, this package is installed by default. Unfortunately, in Python " -"2.7, this package does not include Provides: python-argparse " -"directive." -msgstr "" -"Tất cả các gói OpenStack đều được viết bằng Python. Tất cả các gói đều hỗ " -"trợ phiên bản 2.7; việc chuyển lên bản 3 đang được tiến hành. Lưu ý rằng " -"Debian Wheezy sử dụng Python 2.6 và 2.7, với Python 2.7 là phần chuyển đổi " -"chính; Sid chỉ có Python 2.7. Có một sự thay đổi trong việc đóng gói giữa " -"hai phiên bản này. Trong Python 2.6, bạn cài gói python-argparse riêng lẻ. Trong Python 2.7, gói này được cài mặc định. Đáng tiếc " -"rằng, trong Python 2.7, gói này không bao gồm chỉ thị Provides: python-" -"argparse." - -msgid "" -"All configuration files should be placed at the /etc/trove directory. Edit the following configuration files, taking the " -"below actions for each file:" -msgstr "" -"Tất cả các file cấu hình nên được đặt trong thư mục /etc/trove. Sửa các file cấu hình sau, thực hiện các công việc bên dưới đối " -"với từng file:" - -msgid "" -"All nodes require Internet access for administrative purposes such as " -"package installation, security updates, DNS, and " -"NTP. In most " -"cases, nodes should obtain Internet access through the management network " -"interface. To highlight the importance of network separation, the example " -"architectures use private address space for the management network and assume " -"that network infrastructure provides Internet access via NAT. To illustrate the " -"flexibility of IaaS, the example architectures use " -"public IP address space for the external network and assume that network " -"infrastructure provides direct Internet access to instances in your " -"OpenStack environment. In environments with only one block of public IP " -"address space, both the management and external networks must ultimately " -"obtain Internet access using it. For simplicity, the diagrams in this guide " -"only show Internet access for OpenStack services." -msgstr "" -"Tất cả các node điều yêu cầu truy cập Internet vì các mục đích quản trị như " -"cài đặt gói, các cập nhật về bảo mật, DNS, và " -"NTP. " -"Trong phần lớn các trường hợp, các node nên có khả năng truy cập Internet " -"thông qua giao diện mạng quản lý. Để làm nổi bật lên tầm quan trọng của việc " -"chia tách các hệ thống mạng, các kiến trúc mẫu sử dụng không gian địa chỉ riêng tư " -"cho hệ thống mạng quản lý và mặc định rằng cơ sở hạ tầng mạng cung cấp truy " -"cập Internet thông qua NAT. Để thể hiện tính linh hoạt của IaaS, các kiến trúc mẫu sử dụng không gian địa chỉ IP public cho hệ " -"thống mạng ngoại vùng và mặc định rằng cơ sở hạ tầng mạng cung cấp truy cập " -"Internet trực tiếp tới các instance trong môi trường OpenStack của bạn. " -"Trong các môi trường với chỉ một khối không gian địa chỉ IP public, cả hệ " -"thống mạng quản lý và bên ngoài cuối cùng đều phải truy cập Internet sử dụng " -"nó. Để cho đơn giản, các giản đồ trong bài hướng dẫn này chỉ thể hiện truy " -"cập Internet cho các dịch vụ OpenStack." - -msgid "Allow all hosts to access the dashboard:" -msgstr "Cho phép tất cả các máy chủ vật lý truy cập vào dashboard:" - -msgid "" -"Also add this content to the /etc/hosts file on all " -"other nodes in your environment." -msgstr "" -"Đồng thời thêm nội dung này vào file /etc/hosts trên " -"tất cả các node khác trong môi trường của bạn." - -msgid "" -"Alternatively, if you do not want to install this package, run this script " -"to enable remote root access:" -msgstr "" -"Thay vì vậy nếu bạn không muốn cài đặt gói này, chạy đoạn script dưới đây để " -"cho phép truy cập root từ xa:" - -msgid "" -"Although most environments include Identity, Image service, Compute, at " -"least one networking service, and the dashboard, the Object Storage service " -"can operate independently. If your use case only involves Object Storage, " -"you can skip to after configuring the " -"appropriate nodes for it. However, the dashboard requires at least the Image " -"service and Compute." -msgstr "" -"Mặc dù phần lớn các moi trường bao gồm các dịch vụ Identity, Image, Compute, " -"ít nhất một dich vụ networking và dashboard, thì dịch vụ Object Storage có " -"thể thể hoạt động độc lập. Nếu use case của bạn chỉ bao gồm Object Storage, " -"bạn có thể chuyển đến sau khi cấu hình các node " -"thích hợp cho nó. Tuy nhiên, dashboard vẫn yêu cầu ít nhất dịch vụ Image và " -"Compute." - -msgid "" -"An instance is a VM that OpenStack provisions on a compute node. This guide " -"shows you how to launch a minimal instance using the CirrOS image that you added to your environment in the chapter. In these steps, you use the command-line interface " -"(CLI) on your controller node or any system with the appropriate OpenStack " -"client libraries. To use the dashboard, see the OpenStack User " -"Guide." -msgstr "" -"Một instance là một máy ảo mà OpenStack tạo ra trên một compute node. Hướng " -"dẫn này sẽ chỉ cho bạn cách để khởi tạo một instance tối thiểu sử dụng Image " -"CirrOS mà bạn đã thêm vào môi trường của bạn trong " -"chương . Trong những bước này, bạn sẽ sử dụng " -"giao diện câu lệnh (CLI) trên controller node của bạn hoặc bất kì một hệ " -"thống nào có tích hợp sẵn các thư viện OpenStack client phù hợp. Để sử dụng " -"dashboard, xem tại Hướng dẫn sử dụng OpenStack." - -msgid "" -"Another way to disable the debconf package is to prefix the command with " -"DEBIAN_FRONTEND=noninteractive, as follows:" -msgstr "" -"Một cách khác để debconf vô hiệu " -"hóa gói đó là thêm DEBIAN_FRONTEND=noninteractive vào " -"trước lệnh , như sau:" - -msgid "" -"Any given Networking set up has at least one external network. Unlike the " -"other networks, the external network is not merely a virtually defined " -"network. Instead, it represents a view into a slice of the physical, " -"external network accessible outside the OpenStack installation. IP addresses " -"on the external network are accessible by anybody physically on the outside " -"network. Because the external network merely represents a view into the " -"outside network, DHCP is disabled on this network." -msgstr "" -"Bất kì thiết lập Networking nào cũng có ít nhất một hệ thống mạng ngoại " -"vùng. Khác với các hệ thống mạng khác, mạng ngoài vùng không chỉ đơn giản là " -"một mạng ảo. Thay vào đó, thể hiện cái nhìn về một phần của hệ thống mạng " -"ngoại vùng vật lý truy cập được ở bên ngoài cài đặt OpenStack. Các địa chỉ " -"IP trên hệ thống mạng ngoại vùng có thể truy cập trực tiếp được bởi bất kỳ " -"ai trên hệ thống mạng bên ngoài. Bởi vì mạng ngoại vùng chỉ đơn giản thể " -"hiện một cái nhìn vào hệ thống mạng bên ngoài, DHCP bị vô hiệu hóa trên hệ " -"thống mạng này." - -msgid "" -"Any roles that you create must map to roles specified in the " -"policy.json file in the configuration file directory of " -"each OpenStack service. The default policy for most services grants " -"administrative access to the admin role. For more " -"information, see the Operations Guide - Managing Projects and " -"Users." -msgstr "" -"Bất kì vai trò nào mà bạn tạo ra cần được trỏ tới các vai trò chỉ định trong " -"file policy.json trong thư mục cấu hình của từng dịch " -"vụ OpenStack. Chính sách mặc định cho hầu hết các dịch vụ là cấp quyền truy " -"nhập quản trị cho vai trò admin. Để biết thêm thông tin, " -"xem tại Hướng dẫn Vận hành - Quản lý các dự án và người sử " -"dụng ." - -msgid "Architecture" -msgstr "Kiến trúc" - -msgid "" -"As an example, here are screenshots from the cinder-common package:" -msgstr "" -"Đây là một ví dụ ảnh chụp màn hình từ gói cinder-common:" - -msgid "" -"As the admin user, list projects to verify that the " -"admin user can execute CLI commands and that the Identity " -"service contains the projects created by the configuration tool:" -msgstr "" -"Với tư cách là người dùng admin, liệt kê ra các project " -"để xác nhận rằng người dùng admin có thể thực hiện các " -"câu lệnh CLI chỉ dành cho admin và Identity service có chứa các project được " -"khởi tạo bởi công cụ cấu hình:" - -msgid "" -"As the admin user, list projects to verify that the " -"admin user can execute admin-only CLI commands and that " -"the Identity service contains the projects that you created in :" -msgstr "" -"Với tư cách là người dùng admin, liệt kê ra các project " -"để xác nhận rằng người dùng admin có thể thực hiện các " -"câu lệnh CLI chỉ dành cho admin và Identity service có chứa các project bạn " -"khởi tạo trong :" - -msgid "" -"As the admin user, list roles to verify that the Identity " -"service contains the role created by the configuration tool:" -msgstr "" -"Với tư cách là người dùng admin, liệt kê ra các vai trò " -"để xác nhận rằng Identity service có chứa các vai trò được khởi tạo bởi công " -"cụ cấu hình:" - -msgid "" -"As the admin user, list roles to verify that the Identity " -"service contains the role that you created in :" -msgstr "" -"Với tư cách là người dùng admin, liệt kê ra các vai trò " -"để xác nhận rằng Identity service có chứa các vai trò mà bạn khởi tạo trong " -":" - -msgid "" -"As the admin user, list users to verify that the Identity " -"service contains the users created by the configuration tool:" -msgstr "" -"Với tư cách là người dùng admin, liệt kê ra các người " -"dùng để xác nhận rằng Identity service có chứa các người dùng được khởi tạo " -"bởi công cụ cấu hình:" - -msgid "" -"As the admin user, list users to verify that the Identity " -"service contains the users that you created in :" -msgstr "" -"Với tư cách là người dùng admin, liệt kê ra các người " -"dùng để xác nhận rằng Identity service có chứa các người dùng mà bạn khởi " -"tạo trong :" - -msgid "" -"As the admin user, request an authentication token from " -"the Identity version 2.0 API:" -msgstr "" -"Với tư cách là người dùng admin, yêu cầu một token xác " -"thực từ Identity API phiên bản 2.0:" - -msgid "" -"As the demo user, attempt to list users to verify that it " -"cannot execute admin-only CLI commands:" -msgstr "" -"Với tư cách là người dùng, thử liệt kê ra danh sách các người dùng để xác " -"nhận rằng nó không thể thực hiện các câu lệnh CLI chỉ dành cho admin:" - -msgid "" -"As the demo user, request an authentication token from " -"the Identity version 3 API:" -msgstr "" -"Với tư cách là người dùng demo, yêu cầu một token xác " -"thực từ API Identity phiên bản 3:" - -msgid "Assigned during package installation" -msgstr "Được gán trong quá trình cài đặt gói" - -msgid "Associate the floating IP address with your instance:" -msgstr "Gán địa chỉ IP động với instance của bạn:" - -msgid "" -"Assuming you have created an image for the type of database you want, and " -"have updated the datastore to use that image, you can now create a trove " -"instance (Database service). To do this, use the trove " -"command." -msgstr "" -"Giả dụ rằng bạn đã khởi tạo một image cho dạng cơ sở dữ liệu bạn mong muốn " -"và bạn đã cập nhật kho dữ liệu để sử dụng image đó, bây giờ bạn đã có thể " -"khởi tạo một trove instance (dịch vụ Database). Để làm được điều này, sử " -"dụng lệnh trove ." - -msgid "" -"Attach the demo-volume1 volume to the demo-" -"instance1 instance:" -msgstr "" -"Gắn ổ demo-volume1 lưu trữ vào instance demo-" -"instance1:" - -msgid "Attach the router to the demo tenant subnet:" -msgstr "Gắn router vào subnet của demo tenant:" - -msgid "Attach the router to the external network by setting it as the gateway:" -msgstr "Gắn router vào mạng ngoại vùng bằng cách đặt nó làm gateway:" - -msgid "" -"Authenticate using admin or demo user " -"credentials." -msgstr "" -"Chứng thực sử dụng thông tin xác thực của người dùng admin hoặc demo." - -msgid "" -"Back-end names are arbitrary. As an example, this guide uses the name of the " -"driver as the name of the back end." -msgstr "" -"Tên các back-end thường hay thay đổi. Vì thế nên bài hướng dẫn này sử dụng " -"tên của driver lam tên cho back end." - -msgid "Basic environment" -msgstr "Môi trường cơ bản" - -msgid "" -"Because most OpenStack services must access the Identity Service, you must " -"configure the IP address of the keystone server to be able to " -"access it. You must also configure the admin_tenant_name, " -"admin_user, and admin_password options for each " -"service to work." -msgstr "" -"Bởi vì phần lớn các dịch vụ OpenStack đều phải truy cập Dịch vụ Identity, " -"bạn phải cấu hình địa chỉ IP của keystone server để có thể truy " -"cập nó. Bạn cũng phải cấu hình các tùy chọnadmin_tenant_name, " -"admin_useradmin_password của mỗi dịch vụ để " -"chúng có thể hoạt động." - -msgid "" -"Because the packages are maintained in Sid where the Provides: python-" -"argparse directive causes an error, and the Debian OpenStack " -"maintainer wants to maintain one version of the OpenStack packages, you must " -"manually install the python-argparse on each OpenStack " -"system that runs Debian Wheezy before you install the other OpenStack " -"packages. Use the following command to install the package:" -msgstr "" -"Bởi vì các gói được duy trì bởi Sid nơi mà chỉ thị Provides: python-" -"argparse gây ra một lỗi và trình duy trì Debian OpenStack muốn duy " -"trì một phiên bản của các gói OpenStack, bạn phải tự tay cài đặt " -"python-argparse trên từng hệ thống OpenStack có chạy " -"Debian Wheezy trước khi bạn cài đặt các gói OpenStack khác. Sử dụng câu lệnh " -"sau để cài đặt gói này:" - -msgid "" -"Because this configuration uses a SQL database server, you can remove the " -"SQLite database file:" -msgstr "" -"Do cấu hình này sử dụng một máy chủ cơ sở dữ liệu SQL, bạn có thể xoá bỏ " -"file cơ sở dữ liệu SQLite:" - -msgid "" -"Before launching your first instance, you must create the necessary virtual " -"network infrastructure to which the instance will connect. This network " -"typically provides Internet access from instances. You " -"can enable Internet access to individual instances " -"using a floating IP address and suitable " -"security group rules. The admin " -"tenant owns this network because it provides external network access for " -"multiple tenants." -msgstr "" -"Trước khi chạy instance đầu tiên, bạn phải khởi tạo cơ sở hạ tầng hệ thống " -"mạng ảo cần thiết để dựa vào đó instance sẽ kết nối vào. Hệ thống mạng này " -"thường cung cấp truy cập Internet từ các instance. Bạn " -"có thể cho phép truy cập Internet tới các instance " -"riêng lẻ bằng cách sử dụng một địa chỉ IP động và các " -"quy tắc nhóm bảo mật thích hợp. Admin tenant sở hữu hệ thống mạng này bởi vì nó cung cấp khả năng truy " -"cập hệ thống mạng ngọai vùng cho các tenant." - -msgid "" -"Before launching your first instance, you must create the necessary virtual " -"network infrastructure to which the instances connect, including the external network and " -"tenant network. See " -". After creating " -"this infrastructure, we recommend that you verify connectivity and resolve any issues before " -"proceeding further. provides a basic architectural overview of the components that " -"Networking implements for the initial networks and shows how network traffic " -"flows from the instance to the external network or Internet." -msgstr "" -"Trước khi chạy instance đầu tiên, bạn phải khởi tạo cơ sở hạ tầng hệ thống " -"mạng ảo cần thiết để dựa vào đó các instance sẽ kết nối vào, bao gồm hệ thống mạng ngoại vùng " -"và mạng tenant. Xem " -". Sau khi khởi " -"tạo cơ sở hạ tầng này, chúng tôi khuyên bạn nên kiểm tra kết nối và xử lý bất kì " -"vấn đề nảy sinh nào trước khi tiếp tục. cung cấp cái nhìn tổng quát về mô hình cơ bản " -"của các thành phần mà Networking cài đặt lên cho các hệ thống mạng ban đầu " -"và thể hiện các luồng lưu lượng mạng từ instance ra đến hệ thống mạng ngoại " -"vùng hoặc Internet." - -msgid "" -"Before starting the Object Storage services, you must create the initial " -"account, container, and object rings. The ring builder creates configuration " -"files that each node uses to determine and deploy the storage architecture. " -"For simplicity, this guide uses one region and zone with 2^10 (1024) maximum " -"partitions, 3 replicas of each object, and 1 hour minimum time between " -"moving a partition more than once. For Object Storage, a partition indicates " -"a directory on a storage device rather than a conventional partition table. " -"For more information, see the Deployment Guide." -msgstr "" -"Trước khi chạy các dịch vụ Object Storage, bạn phải khởi tạo các account, " -"container, và object ring ban đầu. Trình xây dựng ring khởi tạo các file cấu " -"hình mà mỗi node sử dụng để quyết định và triển khai kiến trúc lưu trữ. Để " -"cho đơn giản hơn, bài hướng dẫn này sử dụng một vùng và khu vực với tối đa " -"2^10 (1024) phân vùng, 3 bản sao của mỗi object và tối thiểu 1 giờ đồng hồ " -"thời gian chờ giữa các thời gian chuyển khi chuyển một phân vùng nhiều hơn " -"một lần. Đối với Object Storage, một phân vùng chỉ đến một thư mục trên " -"thiết bị lưu trữ thay vì một bảng phân vùng thông thường. Để biết thêm thông " -"tin, xem Hướng dẫn Triển khai." - -msgid "Before you begin" -msgstr "Trước khi bạn bắt đầu" - -msgid "" -"Before you configure the OpenStack Identity service, you must create a " -"database and an administration token." -msgstr "" -"Trước khi cấu hình dịch vụ OpenStack Identity, bạn phải tạo ra một cơ sở dữ " -"liệu và token quản trị." - -msgid "" -"Before you configure the OpenStack Networking (neutron) service, you must " -"create a database, service credentials, and API endpoint." -msgstr "" -"Trước khi bạn cấu hình dịch vụ OpenStack Networking (neutron), bạn phải khởi " -"tạo một cơ sở dữ liệu, các thông tin xác thực dịch vụ và API endpoint." - -msgid "" -"Before you install and configure OpenStack Networking, you must configure " -"certain kernel networking parameters." -msgstr "" -"Trước khi cài đặt và cấu hình OpenStack Networking, bạn phải cấu hình một " -"vài thông số hệ thống mạng nhân nhất định." - -msgid "" -"Before you install and configure Orchestration, you must create a database, " -"service credentials, and API endpoints." -msgstr "" -"Trước khi bạn cài đặt và cấu hình Orchestration, bạn phải khởi tạo một cơ sở " -"dữ liệu, các thông tin xác thực dịch vụ và các API endpoint." - -msgid "" -"Before you install and configure Telemetry, you must install " -"MongoDB, create a MongoDB database, service " -"credentials, and API endpoint." -msgstr "" -"Trước khi bạn cài đặt và cấu hình Telemtry, bạn phải cài đặt " -"MongoDB, khởi tạo một cơ sở dữ liệu MongoDB, các " -"thông tin xác thực dịch vụ và API endpoint." - -msgid "" -"Before you install and configure Telemetry, you must install " -"MongoDB." -msgstr "" -"Trước khi bạn cài đặt và cấu hình Telemetry, bạn phải cài đặt " -"MongoDB." - -msgid "" -"Before you install and configure the Block Storage service, you must create " -"a database, service credentials, and API endpoint." -msgstr "" -"Trước khi cài đặt và cấu hình dịch vụ Block Storage, bạn cần phải tạo một cơ " -"sở dữ liệu, các xác thực dịch vụ, và điểm cuối API." - -msgid "" -"Before you install and configure the Compute service, you must create a " -"database, service credentials, and API endpoint." -msgstr "" -"Trước khi bạn cài đặt và cấu hình dịch vụ Compute, bạn phải khởi tạo cơ sở " -"dữ liệu, các thông tin xác thực dịch vụ và API endpoint." - -msgid "" -"Before you install and configure the Image service, you must create a " -"database, service credentials, and API endpoint." -msgstr "" -"Trước khi cài đặt và cấu hình dịch vụ Image, bạn cần phải tạo một cơ sở dữ " -"liệu, các chứng thực dịch vụ và điểm cuối API." - -msgid "" -"Before you proceed, ensure that the controller node has at least several " -"gigabytes of space available in this directory." -msgstr "" -"Trước khi bạn bắt đầu, hãy chắc chắn rằng node điều khiển có ít nhất vài gb " -"trống cho thư mục này." - -msgid "" -"By default in Debian, you can access the MySQL server from either localhost " -"through the socket file or 127.0.0.1. To access it over the network, you " -"must edit the /etc/mysql/my.cnf file, and the " -"mysql.user table. To do so, Debian provides a helper " -"script in the openstack-deploy package. To use it, " -"install the package and run:" -msgstr "" -"Mặc định trong Debian bạn có thể truy cập vào server MySQL từ localhost " -"thông qua file socket hoặc 127.0.0.1. Để truy cập vào thông qua mạng, bạn " -"phải chỉnh file /etc/mysql/my.cnf và bảng " -"mysql.user. Để làm được điều này, Debian cung cấp một " -"đoạn script trợ giúp trong gói openstack-deploy. Để sử " -"dụng nó hãy cài đặt gói phần mềm này và chạy: " - -msgid "" -"By default, dbconfig-common does not provide access to " -"database servers over a network. If you want the dbconfig-common package to prompt for remote database servers that are accessed " -"over a network and not through a UNIX socket file, reconfigure it, as " -"follows:" -msgstr "" -"Mặc đinh, dbconfig-common không cung cấp quyền truy nhập " -"tới các server cơ sở dữ liệu qua mạng. Nếu bạn muốn gói dbconfig-" -"common hỏi đến các máy chủ cơ sở dữ liệu từ xa mà được truy cập " -"qua một hệ thống mạng chứ không phải qua một file socket UNIX, cấu hình lại " -"nó như sau:" - -msgid "" -"By default, Compute uses an internal firewall service. Since Networking " -"includes a firewall service, you must disable the Compute firewall service " -"by using the nova.virt.firewall.NoopFirewallDriver " -"firewall driver." -msgstr "" -"Mặc định, Compute sử dụng một dịch vụ firewall nội vùng. Vì Networking đã " -"bao gồm cả dịch vụ firewall, bạn phải vô hiệu hóa dịch vụ firewall của " -"Compute bằng cách sử dụng nova.virt.firewall.NoopFirewallDriver firewall driver." - -msgid "" -"By default, MongoDB creates several 1GB journal files in the /var/lib/" -"mongodb/journal directory. If you want to reduce the size of each journal " -"file to 128MB and limit total journal space consumption to 512MB, assert the " -"smallfiles key:" -msgstr "" -"Mặc định, MongoDB tạo ra một vài file nhật ký nặng 1 GB trong thư mục /var/" -"lib/mongodb/journal. Nếu bạn muốn giảm size của từng file nhật ký xuống 128 " -"MB và giới hạn khả năng tiêu tốn dung lượng của nhật ký xuống 512 MB, yêu " -"cầu khóa smallfiles :" - -msgid "" -"By default, SLES and openSUSE use a SQL database for session storage. For " -"simplicity, we recommend changing the configuration to use " -"memcached for session storage." -msgstr "" -"Mặc định, SLES và OpenSUSE sử dụng cơ sở dữ liệu SQL để lưu trữ phiên làm " -"việc. Để cho đơn giản, chúng tôi khuyên bạn nên thay đổi cấu hình để sử dụng " -"memcached làm kho lưu trữ phiên làm việc." - -msgid "" -"By default, distribution packages configure Compute to use legacy " -"networking. You must reconfigure Compute to manage networks through " -"Networking." -msgstr "" -"Mặc định, các gói phân phối cấu hình cho Compute sử dụng legacy networking. " -"Bạn phải cấu hình lại để Compute quản lý các hệ thống mạng thông qua " -"Networkin." - -msgid "" -"By default, the dbconfig-common package configures the " -"OpenStack services to use SQLite. So if you use debconf " -"in non-interactive mode and without pre-seeding, the OpenStack services that " -"you install will use SQLite." -msgstr "" -"Mặc định, gói dbconfig-common cấu hình các dịch vụ " -"OpenStack sử dụng SQLite. Cho nên nếu bạn sử dụng package>debconf " -"ở chế độ không tương tác và không sắp đặt trước, các dịch vụ OpenStack mà " -"bạn cài đặt sẽ sử dụng SQLite." - -msgid "" -"By default, the Identity service database contains no information to support " -"conventional authentication and catalog services. You must use a temporary " -"authentication token that you created in to initialize the service entity and API endpoint for the Identity service." -msgstr "" -"Mặc định, cơ sở dữ liệu của dịch vụ Identity không chứa các thông tin hỗ trợ " -"việc xác thực thông thường và các dịch vụ danh mục. Bạn phải sử dụng một " -"token xác thực tạm thời mà bạn đã tạo ra trong để khởi tạo thực thể dịch vụ và API endpoint cho dịch vụ " -"Identity." - -msgid "" -"By default, the Identity service stores expired tokens in the SQL database " -"indefinitely. The accumulation of expired tokens considerably increases the " -"database size and degrades performance over time, particularly in " -"environments with limited resources." -msgstr "" -"Mặc định dịch vụ Identity sẽ lưu trữ vô thời hạn những token hết hạn trong " -"cơ sở dữ liệu SQL. Sự tích luỹ những token hết hạn làm tăng kích thước của " -"cơ sở dữ liệu một cách đáng kể và giảm hiệu năng theo thời gian, đặc biệt " -"trong những môi trường với tài nguyên hạn chế." - -msgid "By default, the Ubuntu packages create a SQLite database." -msgstr "Mặc định các gói phần mềm Ubuntu tạo ra cơ sở dữ liệu SQLite." - -msgid "By default, the Ubuntu packages create an SQLite database." -msgstr "Mặc định thì các gói của Ubuntu khởi tạo một cơ sở dữ liệu của SQLite." - -msgid "" -"By default, the Ubuntu packages create an SQLite database. Because this " -"configuration uses a SQL database server, remove the SQLite database file:" -msgstr "" -"Mặc định các gói Ubuntu tạo ra một cơ sở dữ liệu SQLite. Bởi vì phần cấu " -"hình này sử dụng một máy chủ cơ sở dữ liệu SQL, bạn có thể xóa bỏ các tập " -"tin cơ sở dữ liệu SQLite:" - -msgid "" -"By default, the controller node synchronizes the time via a pool of public " -"servers. However, you can optionally edit the /etc/ntp.conf file to configure alternative servers such as those provided by " -"your organization." -msgstr "" -"Mặc định thì các nút điều khiển tự đồng bộ hóa thời gian thông qua khác " -"server public khác. Tuy nhiên, bạn cũng có thể thay đổi thư mục /" -"etc/ntp.conf để cấu hình các server thay thế khác ví dụ như các " -"server trong tổ chức của bạn." - -msgid "CEILOMETER_DBPASS" -msgstr "CEILOMETER_DBPASS" - -msgid "CEILOMETER_PASS" -msgstr "CEILOMETER_PASS" - -msgid "CINDER_DBPASS" -msgstr "CINDER_DBPASS" - -msgid "CINDER_PASS" -msgstr "CINDER_PASS" - -msgid "CentOS and Fedora do not require these repositories." -msgstr "CentOS và Fedora không yêu cầu cần có các repository này." - -msgid "Change to the /etc/swift directory." -msgstr "Chuyển đến thư mục /etc/swift." - -msgid "Check the status of your floating IP address:" -msgstr "Kiểm tra trạng thái địa chỉ IP động của bạn:" - -msgid "Check the status of your instance:" -msgstr "Kiểm tra tình trạng instance của bạn:" - -msgid "Choose a suitable password for the database root account." -msgstr "Chọn một mật khẩu thích hợp cho tài khoản root của cơ sở dữ liệu." - -msgid "" -"Comment out any auth_host, auth_port, " -"and auth_protocol options because the " -"identity_uri option replaces them." -msgstr "" -"Đưa tất cả các lựa chọn auth_host, auth_portauth_protocol vào phần chú thích bởi vì tùy " -"chọn identity_uri sẽ thay thế chúng." - -msgid "Comment out any other session storage configuration." -msgstr "" -"Đưa vào phần chú thích tất cả các cấu hình lưu trữ phiên làm việc khác." - -msgid "" -"Comment out or remove all but one server key and change " -"it to reference the controller node." -msgstr "" -"Chú thích hoặc xóa bỏ tất cả trừ khóa server và thay đổi " -"để nó chó thể tham chiếu tới nút controller." - -msgid "" -"Comment out or remove any other options in the [filter:authtoken] section." -msgstr "" -"Đưa vào phần chú thích hoặc xóa tất cả các tùy chọn khác trong mục " -"[filter:authtoken]." - -msgid "" -"Comment out or remove any other options in the " -"[keystone_authtoken] section." -msgstr "" -"Đưa vào phần chú thích hoặc xóa tất cả các tùy chọn khác trong mục " -"[keystone_authtoken]:" - -msgid "Complete OpenStack environments already include some of these packages." -msgstr "Các môi trường OpenStack hoàn chỉnh đã bao gồm một vài gói này." - -msgid "Compute Node: 1 processor, 2 GB memory, and 10 GB storage" -msgstr "Node tính toán: 1 bộ xử lý, 2 GB bộ nhớ và 10 GB lưu trữ" - -msgid "Compute node" -msgstr "Node tính toán" - -msgid "Conceptual architecture" -msgstr "Kiến trúc dạng khái niệm" - -msgid "" -"Configure user as the default role for users that you " -"create via the dashboard:" -msgstr "" -"Cấu hình user là vai trò mặc định cho các người dùng mà " -"bạn khởi tạo thông qua dashboard:" - -msgid "Configure OpenStack with debconf" -msgstr "Cấu hình OpenStack bằng debconf" - -msgid "Configure compute node" -msgstr "Cấu hình nút compute" - -msgid "Configure controller node" -msgstr "Cấu hình node điều khiển" - -msgid "Configure hashes and default storage policy" -msgstr "Cấu hình chính sách hàm băm và lưu trữ mặc định" - -msgid "Configure shared items on both storage nodes:" -msgstr "Cấu hình chia sẻ các mục trên các nút lưu trữ:" - -msgid "" -"Configure the memcached session storage service:" -msgstr "" -"Cấu hình dịch vụ lưu trữ phiên làm việc memcached:" - -msgid "" -"Configure the bind_ip key to use the management interface " -"IP address of the controller node." -msgstr "" -"Cấu hình khóa bind_ip để sử dụng địa chỉ IP giao diện " -"mạng quản lý của node điều khiển." - -msgid "Configure the Block Storage service" -msgstr "Cấu hình dịch vụ Block Storage" - -msgid "Configure the Compute service" -msgstr "Cấu hình dịch vụ Compute." - -msgid "Configure the Compute service to send notifications to the message bus." -msgstr "Cấu hình dịch vụ Compute để gửi các thông báo tới kênh thông điệp." - -msgid "" -"Configure the Database service to use the RabbitMQ message broker by setting " -"the following options in the [DEFAULT] configuration " -"group of each file:" -msgstr "" -"Cấu hình để dịch vụ Database sử dụng kênh truyền tin RabbitMQ bằng cách tùy " -"chỉnh các tùy chọn sau trong nhóm cấu hình [DEFAULT] của " -"từng file:" - -msgid "Configure the Image service" -msgstr "Cấu hình dịch vụ Image" - -msgid "Configure the Object Storage service" -msgstr "Cấu hình dịch vụ Object Storage" - -msgid "Configure the authentication token:" -msgstr "Cấu hình token xác thực:" - -msgid "" -"Configure the dashboard to use OpenStack services on the " -"controller node:" -msgstr "" -"Cấu hình dashboard để sử dụng các dịch vụ OpenStack trên node điều khiển:" - -msgid "Configure the database with dbconfig-common" -msgstr "Cấu hình cơ sở dữ liệu bằng dbconfig-common" - -msgid "Configure the endpoint URL:" -msgstr "Cấu hình endpoint URL:" - -msgid "Configure the first interface as the management interface:" -msgstr "Cấu hình giao diện đầu tiên để dùng cho việc quản lý:" - -msgid "Configure the initial administration token:" -msgstr "Cấu hình token quản lí ban đầu:" - -msgid "Configure the management interface:" -msgstr "Cấu hình giao diện quản lý:" - -msgid "" -"Configure the network and compute nodes to reference the controller node." -msgstr "Cấu hình mạng và các nút compute để tham chiếu tới nút controller." - -msgid "Configure the second interface as the instance tunnels interface:" -msgstr "Cấu hình giao diện thứ hai dành cho các đường hầm máy ảo:" - -msgid "Configure the web server:" -msgstr "Cấu hình web server:" - -msgid "Configure unique items on the second storage node:" -msgstr "Cấu hình các mục duy nhất trên nút lưu trữ thứ hai:" - -msgid "Confirm upload of the image and validate attributes:" -msgstr "Xác nhận việc tải image và tính hợp lệ của các thuộc tính:" - -msgid "Container ring" -msgstr "Container ring" - -msgid "" -"Contents in the condition column should indicate " -"sys.peer for at least one server." -msgstr "" -"Những nội dung trong cột condition nên thể hiện " -"sys.peer với ít nhất một server." - -msgid "" -"Contents in the condition column should indicate " -"sys.peer." -msgstr "" -"Những nội dung trong cột remote nên thể hiện " -"sys.peer." - -msgid "" -"Contents in the refid column typically reference IP " -"addresses of upstream servers." -msgstr "" -"Nội dung của cột refid thường được tham chiếu tới các " -"địa chỉ IP của các server ở trên." - -msgid "" -"Contents in the remote column should indicate the " -"hostname of the controller node." -msgstr "" -"Những nội dung trong cột remote nên thể hiện hostname " -"của nút controller." - -msgid "" -"Contents in the remote column should indicate the " -"hostname or IP address of one or more NTP servers." -msgstr "" -"Những nội dung trong cột remove nên thể hiện được " -"hostname hoặc địa chỉ IP của một hoặc nhiều server NTP." - -msgid "Controller Node: 1 processor, 2 GB memory, and 5 GB storage" -msgstr "Node điều khiển: 1 bộ xử lý, 2 GB bộ nhớ và 5 GB lưu trữ" - -msgid "Controller node" -msgstr "Node điều khiển" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1212900. -msgid "" -"Copy the /usr/share/cinder/cinder-dist.conf file to " -"/etc/cinder/cinder.conf." -msgstr "" -"Sao chép thư mục /usr/share/cinder/cinder-dist.conf " -"tới /etc/cinder/cinder.conf." - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1213476. -msgid "" -"Copy the /usr/share/heat/heat-dist.conf file to " -"/etc/heat/heat.conf." -msgstr "" -"Sao chép file /usr/share/heat/heat-dist.conf đến " -"/etc/heat/heat.conf." - -msgid "" -"Copy the account.ring.gz, container.ring.gz, and object.ring.gz files to the /" -"etc/swift directory on each storage node and any additional nodes " -"running the proxy service." -msgstr "" -"Sao chép các file account.ring.gz, container." -"ring.gzobject.ring.gz đến thư mục " -"/etc/swift trên từng node lưu trữ và bất kỳ node nào có " -"chạy dịch vụ proxy. " - -msgid "" -"Copy the swift.conf file to the /etc/swift directory on each storage node and any additional nodes running the " -"proxy service." -msgstr "" -"Sao chép file swift.conf đến thư mục /etc/" -"swift trên từng node lưu trữ và các node khác có chạy dịch vụ " -"proxy." - -msgid "" -"Copy the WSGI components from the upstream repository into this directory:" -msgstr "" -"Sao chép các thành phần của WSGI từ kho phần mềm tuyến trên vào thư mục này:" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node and add the following to it:" -msgstr "" -"Sao chép nội dung của thư mục /etc/hosts từ nút điều " -"khiển và chèn thêm các thông tin sau:" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node to the storage node and add the following to it:" -msgstr "" -"Sao chép nội dung của file /etc/hosts từ node điều " -"khiển sang node lưu trữ và thêm các dòng sau vào nó: " - -msgid "Copyright details are filled in by the template." -msgstr "Các chi tiết về bản quyền được điền vào theo mẫu." - -msgid "Create OpenStack client environment scripts" -msgstr "Khởi tạo các script môi trường client của OpenStack" - -msgid "Create a 1 GB volume:" -msgstr "Khởi tạo một ổ lưu trữ 1GB:" - -msgid "" -"Create a floating IP address on the ext-net external network:" -msgstr "" -"Khởi tạo một địa chỉ IP động trên hệ thống mạng ngoại " -"vùng ext-net:" - -msgid "Create a cinder user:" -msgstr "Tạo một tài khoản người dùng cinder:" - -msgid "" -"Create a datastore. You need to create a separate datastore for each type of " -"database you want to use, for example, MySQL, MongoDB, Cassandra. This " -"example shows you how to create a datastore for a MySQL database:" -msgstr "" -"Tạo kho dữ liệu. Với mỗi loại cơ sở dữ liệu bạn nên tạo các kho dữ liệu khác " -"nhau, ví dụ, MySQL, MongoDB, Cassandra. Ví dụ sau sẽ giúp bạn cách để tạo " -"một kho dữ liệu cho một cơ sở dữ liệu MySQL:" - -msgid "Create a temporary local directory:" -msgstr "Tạo một thư mục cục bộ tạm thời:" - -msgid "" -"Create a test template in the test-stack.yml file with " -"the following content:" -msgstr "" -"Tạo một mẫu kiểm thử trong thư mục test-stack.yml với " -"nội dung như sau:" - -msgid "Create a trove image." -msgstr "Tạo một image trove" - -msgid "" -"Create an administrative project, user, and role for administrative " -"operations in your environment:" -msgstr "" -"Khởi tạo một project quản trị, người dùng và vai trò cho các tác vụ quản trị " -"trong môi trường của bạn:" - -msgid "" -"Create an image for the type of database you want to use, for example, " -"MySQL, MongoDB, Cassandra." -msgstr "" -"Tạo một image cho mỗi loại cơ sở dữ liệu mà bạn muốn dùng, ví dụ như MySQL, " -"MongoDB, Cassandra." - -msgid "" -"Create and edit the /etc/my.cnf.d/mariadb_openstack.cnf " -"file and complete the following actions:" -msgstr "" -"Tạo và chỉnh sửa file /etc/my.cnf.d/mariadb_openstack.cnf sau đó hoàn tất các thao tác sau:" - -msgid "" -"Create and edit the /etc/mysql/conf.d/mysqld_openstack.cnf file and complete the following actions:" -msgstr "" -"Tạo và chỉnh sửa file /etc/mysql/conf.d/mysqld_openstack.cnf sau đó hoàn tất các thao tác sau:" - -msgid "" -"Create and edit the /etc/neutron/dnsmasq-neutron.conf " -"file and complete the following action:" -msgstr "" -"Khởi tạo và sửa file /etc/neutron/dnsmasq-neutron.conf " -"và hoàn thành các công việc sau: " - -msgid "" -"Create client environment scripts for the admin and " -"demo projects and users. Future portions of this guide " -"reference these scripts to load appropriate credentials for client " -"operations." -msgstr "" -"Khởi tạo các script môi trường client cho các project và người dùng " -"admindemo. Các phần tương lai của " -"bài hướng dẫn này sẽ trỏ đến các script này để tải các thông tin xác thực " -"phù hợp cho các tác vụ client." - -msgid "Create database schema: " -msgstr "Tạo lược đồ cơ sở dữ liệu: " - -msgid "Create initial network" -msgstr "Khởi tạo hệ thống mạng ban đầu" - -msgid "Create initial networks" -msgstr "Khởi tạo các mạng ban đầu" - -msgid "Create initial rings" -msgstr "Khởi tạo các ring ban đầu" - -msgid "Create projects, users, and roles" -msgstr "Khởi tạo các project, người dùng và vai trò" - -msgid "" -"Create the /etc/apache2/sites-available/wsgi-" -"keystone.conf/etc/httpd/conf." -"d/wsgi-keystone.conf/etc/apache2/" -"conf.d/wsgi-keystone.conf file with the following content:" -msgstr "" -"Tạo ra file /etc/apache2/sites-available/wsgi-" -"keystone.conf/etc/httpd/conf." -"d/wsgi-keystone.conf/etc/apache2/" -"conf.d/wsgi-keystone.conf với nội dung như sau:" - -msgid "Create the /etc/swift directory." -msgstr "Khởi tạo thư mục /etc/swift." - -msgid "Create the ResellerAdmin role:" -msgstr "Tạo role ResellerAdmin:" - -msgid "Create the admin project:" -msgstr "Tạo ra project admin:" - -msgid "Create the admin role:" -msgstr "Tạo role admin:" - -msgid "Create the admin tenant and user:" -msgstr "Tạo tenant và user admin:" - -msgid "Create the admin user:" -msgstr "Tạo user admin:" - -msgid "Create the ceilometer database:" -msgstr "Khởi tạo cơ sở dữ liệu ceilometer:" - -msgid "Create the ceilometer service entity:" -msgstr "Khởi tạo thực thể dịch vụ ceilometer:" - -msgid "Create the ceilometer user:" -msgstr "Khởi tạo người dùng ceilometer:" - -msgid "Create the cinder database:" -msgstr "Tạo cơ sở dữ liệu cinder:" - -msgid "Create the cinder service entities:" -msgstr "Tạo các thực thể dịch vụ cinder:" - -msgid "Create the demo project:" -msgstr "Tạo dự án demo:" - -msgid "Create the demo user:" -msgstr "Tạo người dùng demo:" - -msgid "Create the glance database:" -msgstr "Tạo cơ sở dữ liệu glance:" - -msgid "Create the glance service entity:" -msgstr "Khởi tạo thực thể dịch vụ glance:" - -msgid "Create the glance user:" -msgstr "Khởi tạo người dùng glance:" - -msgid "" -"Create the heat and heat-cfn service " -"entities:" -msgstr "" -"Khởi tạo các thực thể dịch vụ heatheat-cfn: " - -msgid "Create the heat database:" -msgstr "Khởi tạo cơ sở dữ liệu heat:" - -msgid "Create the heat user:" -msgstr "Khởi tạo người dùng heat:" - -msgid "Create the heat_stack_owner role:" -msgstr "Khởi tạo vai trò heat_stack_owner:" - -msgid "Create the heat_stack_user role:" -msgstr "Khởi tạo vai trò heat_stack_user:" - -msgid "Create the keystone database:" -msgstr "Tạo cơ sở dữ liệu keystone:" - -msgid "Create the neutron database:" -msgstr "Khởi tạo cơ sở dữ liệu neutron:" - -msgid "Create the neutron service entity:" -msgstr "Khởi tạo thực thể dịch vụ neutron:" - -msgid "Create the neutron user:" -msgstr "Khởi tạo người dùng neutron:" - -msgid "Create the nova database:" -msgstr "Khởi tạo cơ sở dữ liệu nova:" - -msgid "Create the nova service entity:" -msgstr "Khởi tạo thực thể dịch vụ nova:" - -msgid "Create the nova user:" -msgstr "Khởi tạo người dùng nova:" - -msgid "" -"Create the recon directory and ensure proper ownership of " -"it:" -msgstr "" -"Tạo thư mục recon và đảm bảo quyền sở hữu hợp pháp của nó:" - -msgid "Create the sahara database:" -msgstr "Tạo cơ sở dữ liệu sahara:" - -msgid "Create the sahara service entity:" -msgstr "Tạo thực thể dịch vụ sahara:" - -msgid "Create the sahara user:" -msgstr "Tạo người dùng sahara:" - -msgid "Create the service project:" -msgstr "Tạo ra dự án service:" - -msgid "Create the swift service entity:" -msgstr "Khởi tạo thực thể dịch vụ swift: " - -msgid "Create the swift user:" -msgstr "Khởi tạo người dùng swift:" - -msgid "Create the trove user:" -msgstr "Khởi tạo người dùng trove:" - -msgid "Create the user role:" -msgstr "Tạo role user:" - -msgid "Create the Block Storage service API endpoints:" -msgstr "Tạo các điểm cuối API của dịch vụ Block Storage:" - -msgid "Create the Compute service API endpoint:" -msgstr "Khởi tạo API endpoint của dịch vụ Compute:" - -msgid "Create the Data processing service API endpoint:" -msgstr "Khởi tạo API endpoint cho dịch vụ xử lý Dữ liệu:" - -msgid "Create the Database service API endpoint:" -msgstr "Khởi tạo API endpoint cho dịch vụ Database:" - -msgid "Create the Identity service API endpoint:" -msgstr "Khởi tạo API endpoint cho dịch vụ Identity:" - -msgid "Create the Identity service endpoints" -msgstr "Tạo ra các endpoint của dịch vụ Identity" - -msgid "Create the Image service API endpoint:" -msgstr "Khởi tạo API endpoint cho dịch vụ Image:" - -msgid "Create the LVM physical volume /dev/sdb1:" -msgstr "Khởi tạo ổ lưu trữ vậy lý LVM /dev/sdb1:" - -msgid "Create the LVM volume group cinder-volumes:" -msgstr "Khởi tạo nhóm ổ lưu trữ LVM cinder-volumes:" - -msgid "Create the Networking service API endpoint:" -msgstr "Khởi tạo API endpoint cho dịch vụ Networking:" - -msgid "Create the Object Storage service API endpoint:" -msgstr "Khởi tạo API endpoint cho dịch vụ Object Storage:" - -msgid "Create the Orchestration service API endpoints:" -msgstr "Khởi tạo các API endpoint cho dịch vụ Orchestration:" - -msgid "Create the Telemetry module API endpoint:" -msgstr "Khởi tạo API endpoint cho module Telemetry:" - -msgid "Create the base account.builder file:" -msgstr "Khởi tạo file account.builder gốc:" - -msgid "Create the base container.builder file:" -msgstr "Khởi tạo file container.builder gốc: " - -msgid "Create the base object.builder file:" -msgstr "Khởi tạo file object.builder gốc:" - -msgid "Create the directory structure for the WSGI components:" -msgstr "Tạo cấu trúc thư mục cho các thành phần của WSGI:" - -msgid "Create the heat domain in Identity service:" -msgstr "Khởi tạo miền heat trong dịch vụ Identity:" - -msgid "Create the mount point directory structure:" -msgstr "Tạo cấu trúc thư mục mount point:" - -msgid "Create the network:" -msgstr "Tạo một mạng: " - -msgid "Create the router:" -msgstr "Khởi tạo router:" - -msgid "Create the service entity and API endpoint" -msgstr "Khởi tạo thực thể dịch vụ và API endpoint." - -msgid "Create the service entity for the Identity service:" -msgstr "Khởi tạo thực thể dịch vụ cho dịch vụ Identity:" - -msgid "Create the subnet:" -msgstr "Khởi tạo subnet:" - -msgid "" -"Customize your dashboard. See section Customize the dashboard in the OpenStack Cloud Administrator Guide for " -"information on setting up colors, logos, and site titles." -msgstr "" -"Tùy chỉnh dashboard của bạn. Xem phần Tùy chỉnh dashboard trong Hướng dẫn Quản " -"trị viên OpenStack Cloud để biết thông tin về cách thiết " -"lập màu sắc, logo và tiêu đề cho trang." - -msgid "DBNAME" -msgstr "DBNAME" - -msgid "DEMO_NET_ID" -msgstr "DEMO_NET_ID" - -msgid "DEMO_PASS" -msgstr "DEMO_PASS" - -msgid "DEVICE_NAME" -msgstr "DEVICE_NAME" - -msgid "DEVICE_WEIGHT" -msgstr "DEVICE_WEIGHT" - -msgid "" -"Database population occurs later for Networking because the script requires " -"complete server and plug-in configuration files." -msgstr "" -"Việc truyền thông tin vào cơ sở dữ liệu vào Networking xảy ra sau bởi vì " -"script yêu cầu server hoàn chỉnh và các file cấu hình plug-in." - -msgid "Debian 7" -msgstr "Debian 7" - -msgid "Debian does not use a separate ML2 plug-in package." -msgstr "Debian không sử dụng một gói plug-in ML2 riêng lẻ." - -msgid "" -"Default configuration files vary by distribution. You might need to add " -"these sections and options rather than modifying existing sections and " -"options. Also, an ellipsis (...) in the configuration snippets indicates " -"potential default configuration options that you should retain." -msgstr "" -"Các file cấu hình mặc định khác nhau tùy vào bản phân phối. Bạn có thể cần " -"phải thêm các mục và tùy chọn này thay vì sửa các mục và tùy chọn có sẵn. " -"Đồng thời, dấu chấm lửng (...) trong các đoạn trích cấu hình ngụ ý các tuỳ " -"chọn cấu hình mặc định tiềm năng mà bạn nên giữ nguyên." - -msgid "Default gateway: 10.0.0.1" -msgstr "Gateway mặc định: 10.0.0.1" - -msgid "Description" -msgstr "Mô tả chi tiết" - -msgid "" -"Determine whether your compute node supports hardware acceleration for " -"virtual machines:" -msgstr "" -"Xác định xem node tính toán của bạn có hỗ trợ tăng tốc phần cứng cho các máy " -"ảo hay không:" - -msgid "" -"Disable or remove any automatic update services because they can impact your " -"OpenStack environment." -msgstr "" -"Vô hiệu hóa hoặc xóa bỏ tất cả các dịch vụ tự động update vì chúng có thể " -"gây ảnh hưởng tới môi trường OpenStack của bạn." - -msgid "" -"Disable the keystone service from " -"starting automatically after installation:" -msgstr "" -"Vô hiệu hóa việc khởi động tự động sau khi cài đặt của dịch vụ keystone: " - -msgid "Distribute ring configuration files" -msgstr "Phân phối các file cấu hình ring" - -msgid "" -"Distributions release OpenStack packages as part of the distribution or " -"using other methods because of differing release schedules. Perform these " -"procedures on all nodes." -msgstr "" -"Các phân phối phát hành các gói OpenStack như là một phần của phân phối hoặc " -"sử dụng các cách thức khác bởi sự khác nhau trong lịch phát hành. Thực hiện " -"các thủ tục sau trên tất cả các node." - -msgid "" -"Do not change the HWADDR and UUID keys." -msgstr "" -"Không thay đổi các khóa HWADDRUUID." - -msgid "" -"Do not explicitly start the neutron-ovs-" -"cleanup service." -msgstr "" -"Không khởi động dịch vụ neutron-ovs-cleanup một cách rõ ràng." - -msgid "" -"Do not repeat this step when creating additional users for this project." -msgstr "Không lặp lại bước này khi tạo thêm người dùng cho dự án này." - -msgid "Download a test file:" -msgstr "Tải về một file thử nghiệm:" - -msgid "Download an image from the Image service:" -msgstr "Tải về một image từ dịch vụ Image:" - -msgid "Download the source image into it:" -msgstr "Tải image nguồn vào bên trong nó:" - -msgid "" -"Due to a packaging bug, the dashboard CSS fails to load properly. Run the " -"following command to resolve this issue:" -msgstr "" -"Do một lỗi trong quá trình đóng gói, CSS của dashboard không thể tải chuẩn " -"xác. Chạy lệnh sau để giải quyết vấn đề này:" - -msgid "" -"During the final stage of the package installation, it is possible to " -"automatically create an admin tenant and an admin user. This can later be " -"used for other OpenStack services to contact the Identity service. This is " -"the equivalent of running the below commands:" -msgstr "" -"Giai đoạn cuối cùng của việc cài đặt gói phần mềm, chúng ta có thể tạo " -"tenant admin và user admin một cách tự động. Thông tin này sau đó có thể sử " -"dụng cho các dịch vụ khác của OpenStack để liên lạc với dịch vụ Identity. " -"Việc này đồng nghĩa với chạy các câu lệnh sau:" - -msgid "EXTERNAL_NETWORK_CIDR" -msgstr "EXTERNAL_NETWORK_CIDR" - -msgid "EXTERNAL_NETWORK_GATEWAY" -msgstr "EXTERNAL_NETWORK_GATEWAY" - -msgid "" -"Each item in the filter array begins with a for " -"accept or r for reject and includes a regular expression for the device name. The array " -"must end with r/.*/ to reject any remaining devices. You " -"can use the command to test filters." -msgstr "" -"Mỗi mục trong chuỗi lọc đều bắt đầu bằng a có nghĩa là " -"cho phép hoặcr có nghĩa là " -"từ chối và bao gồm cách thể hiện thông thường đối với " -"tên thiết bị. Chuỗi phải kết thúc bằng r/.*/ để từ chối " -"tất cả các thiết bị còn lại. Bạn có thể sử dụng lệnh để " -"kiểm tra các bộ lọc." - -msgid "" -"Each plug-in that Networking uses has its own concepts. While not vital to " -"operating the VNI and OpenStack environment, understanding these concepts " -"can help you set up Networking. All Networking installations use a core plug-" -"in and a security group plug-in (or just the No-Op security group plug-in). " -"Additionally, Firewall-as-a-Service (FWaaS) and Load-Balancer-as-a-Service " -"(LBaaS) plug-ins are available." -msgstr "" -"Mỗi plug-in mà Networking sử dụng đều có khái niệm riêng của nó. Mặc dù nó " -"không quá quan trọng để vận hành VNI và môi trường OpenStack, hiểu được các " -"khái niệm này có thể giúp bạn cài đặt Networking. Tất cả các cài đặt " -"Networking đều sử dụng một plug-in chính và một plug-in nhóm bảo mật (hoặc " -"chỉ plug-in nhóm bảo mật No-OP). Thêm vào đó plug-in Firewall-as-a-Service " -"(FWaaS) và Load-Balancer-as-a-Service (LBaaS) cũng có sẵn." - -msgid "" -"Each router has one gateway that connects to a network, and many interfaces " -"connected to subnets. Subnets can access machines on other subnets connected " -"to the same router." -msgstr "" -"Mỗi router đều có một gateway kết nối đến một hệ thống mạng và nhiều giao " -"diện kết nối đến các subnet. Các subnet có thể truy cập các máy trên các " -"subnet khác được kết nối vào cùng một router." - -msgid "" -"Each service that you add to your OpenStack environment requires one or more " -"service entities and one API endpoint in the Identity service." -msgstr "" -"Mỗi dịch vụ bạn thêm vào môi trường OpenStack của bạn yêu cầu một hoặc nhiều " -"các thực thể dịch vụ và một API endpoint trong dịch vụ Identity." - -msgid "Each user belongs to a user group with the same name as the user." -msgstr "" -"Mỗi người dùng thuộc về một nhóm người dùng cùng tên với người dùng đó." - -msgid "Edit /etc/sahara/sahara.conf configuration file" -msgstr "" -"Chỉnh sửa file cấu hình tập tin /etc/sahara/sahara.conf" - -msgid "" -"Edit the /etc/mongodb.conf/etc/mongod.conf " -"file and complete the following actions:" -msgstr "" -"Sửa file /etc/mongodb.conf/etc/mongod.conf và " -"hoàn thành các công việc sau:" - -msgid "" -"Edit the /etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf file and configure the ServerName option to " -"reference the controller node:" -msgstr "" -"Chỉnh sửa file /etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf và cấu hình ServerName để trỏ tới controller " -"node:" - -msgid "" -"Edit the /etc/mysql/my.cnf/etc/my.cnf file and change the max_allowed_packet option:" -msgstr "" -"Chỉnh sửa tập tin /etc/mysql/my.cnf/etc/my.cnf và thay đổi lựa chọn của max_allowed_packet:" - -msgid "" -"Edit the /etc/keystone/keystone-paste." -"ini/usr/share/keystone/" -"keystone-dist-paste.ini file and remove " -"admin_token_auth from the [pipeline:public_api], [pipeline:admin_api], and [pipeline:" -"api_v3] sections." -msgstr "" -"Sửa file /etc/keystone/keystone-paste." -"ini/usr/share/keystone/" -"keystone-dist-paste.ini và xóa admin_token_auth từ các mục [pipeline:public_api], " -"[pipeline:admin_api], và [pipeline:api_v3]." - -msgid "" -"Edit the /etc/ceilometer/ceilometer.conf file and " -"complete the following actions:" -msgstr "" -"Chỉnh sửa file /etc/ceilometer/ceilometer.conf và hoàn " -"tất các thao tác sau:" - -msgid "" -"Edit the /etc/cinder/cinder.conf file and complete the " -"following actions:" -msgstr "" -"Chỉnh sửa file /etc/cinder/cinder.conf và hoàn tất các " -"thao tác sau:" - -msgid "" -"Edit the /etc/default/rsync file and enable the " -"rsync service:" -msgstr "" -"Chỉnh sửa thư mục /etc/default/rsync và bật dịch vụ " -"rsync: " - -msgid "" -"Edit the /etc/fstab file and add the following to it:" -msgstr "" -"Chỉnh sửa thư mục /etc/fstab và chèn thêm các thông tin " -"sau: " - -msgid "" -"Edit the /etc/glance/glance-api.conf and /etc/" -"glance/glance-registry.conf files and complete the following " -"actions:" -msgstr "" -"Sửa file /etc/glance/glance-api.conf/etc/" -"glance/glance-registry.conf và hoàn thành các công việc sau:" - -msgid "" -"Edit the /etc/glance/glance-api.conf file and complete " -"the following actions:" -msgstr "" -"Sửa file /etc/glance/glance-api.conf và hoàn thành các " -"công việc sau:" - -msgid "" -"Edit the /etc/glance/glance-registry.conf file and " -"complete the following actions:" -msgstr "" -"Sửa file /etc/glance/glance-registry.conf và hoàn thành " -"các công việc sau:" - -msgid "" -"Edit the /etc/heat/heat.conf file and complete the " -"following actions:" -msgstr "" -"Sửa file /etc/heat/heat.conf và hoàn thành các công " -"việc sau:" - -msgid "Edit the /etc/hosts file to contain the following:" -msgstr "Sửa file /etc/hosts để chứa các phần sau:" - -msgid "" -"Edit the /etc/keystone/keystone.conf file and complete " -"the following actions:" -msgstr "" -"Sửa file /etc/keystone/keystone.conf và thực hiện các " -"thao tác sau:" - -msgid "" -"Edit the /etc/mongodb.conf file and complete the " -"following actions:" -msgstr "" -"Sửa file /etc/mongodb.conf và hoàn thành các công việc " -"sau:" - -msgid "" -"Edit the /etc/network/interfaces file to contain the " -"following:" -msgstr "" -"Sửa file /etc/network/interfaces để bao gồm phần sau:" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following action:" -msgstr "" -"Sửa file /etc/neutron/dhcp_agent.ini và hoàn thành các " -"công việc sau:" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following actions:" -msgstr "" -"Sửa file /etc/neutron/dhcp_agent.ini và hoàn thành các " -"công việc sau:" - -msgid "" -"Edit the /etc/neutron/l3_agent.ini file and complete " -"the following actions:" -msgstr "" -"Sửa file /etc/neutron/l3_agent.ini và hoàn thành các " -"công việc sau:" - -msgid "" -"Edit the /etc/neutron/metadata_agent.ini file and " -"complete the following actions:" -msgstr "" -"Sửa file /etc/neutron/metadata_agent.ini và hoàn thành " -"các công việc sau:" - -msgid "" -"Edit the /etc/neutron/neutron.conf file and complete " -"the following actions:" -msgstr "" -"Sửa file /etc/neutron/neutron.conf và hoàn thành các " -"công việc sau:" - -msgid "" -"Edit the /etc/neutron/plugins/ml2/ml2_conf.ini file and " -"complete the following actions:" -msgstr "" -"Sửa file /etc/neutron/plugins/ml2/ml2_conf.ini và hoàn " -"thành các công việc sau:" - -msgid "" -"Edit the /etc/nova/nova.conf file and complete the " -"following actions:" -msgstr "" -"Sửa file /etc/nova/nova.conf và hoàn thành các công " -"việc sau:" - -msgid "" -"Edit the /etc/nova/nova.conf file and configure " -"notifications in the [DEFAULT] section:" -msgstr "" -"Sửa tập tin /etc/nova/nova.conf và cấu hình thông báo " -"trong mục [DEFAULT]:" - -msgid "" -"Edit the /etc/nova/nova.conf file on the controller " -"node and complete the following actions:" -msgstr "" -"Sửa file /etc/nova/nova.conf trên node điều khiển và " -"hoàn thành các công việc sau:" - -msgid "" -"Edit the /etc/ntp.conf file and add, change, or remove " -"the following keys as necessary for your environment:" -msgstr "" -"Chỉnh sửa thư mục /etc/ntp.conf và thêm, thay đổi, hoặc " -"xóa các khóa sau đây nếu như việc đó là cần thiết đối với môi trường của bạn:" - -msgid "Edit the /etc/ntp.conf file:" -msgstr "Chỉnh sửa thư mục /etc/ntp.conf:" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings.py " -"file and complete the following actions:" -msgstr "" -"Sửa file /etc/openstack-dashboard/local_settings.py và " -"hoàn thành các công việc sau:" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings file " -"and complete the following actions:" -msgstr "" -"Sửa file /etc/openstack-dashboard/local_settings và " -"hoàn thành các công việc sau:" - -msgid "" -"Edit the /etc/rsyncd.conf file and add the following to " -"it:" -msgstr "" -"Chỉnh sửa thư mục /etc/rsyncd.conf và chèn thêm nội " -"dung sau: " - -msgid "" -"Edit the /etc/swift/account-server.conf file and " -"complete the following actions:" -msgstr "" -"Chỉnh sửa thư mục rsyncd và hoàn " -"thiện các thao tác sau: " - -msgid "" -"Edit the /etc/swift/container-server.conf file and " -"complete the following actions:" -msgstr "" -"Chỉnh sửa thư mục /etc/swift/container-server.conf và " -"hoàn thiện các bước sau: " - -msgid "" -"Edit the /etc/swift/object-server.conf file and " -"complete the following actions:" -msgstr "" -"Chỉnh sửa thư mục /etc/swift/object-server.conf và hoàn " -"thiện các bước sau: " - -msgid "" -"Edit the /etc/swift/proxy-server.conf file and complete " -"the following actions:" -msgstr "" -"Chỉnh sửa file /etc/swift/proxy-server.conf và hoàn tất " -"các thao tác sau:" - -msgid "" -"Edit the /etc/swift/swift.conf file and complete the " -"following actions:" -msgstr "" -"Sửa file /etc/swift/swift.conf và hoàn thành các công " -"việc sau:" - -msgid "" -"Edit the /etc/sysconfig/apache2 file and configure the " -"APACHE_SERVERNAME option to reference the controller node:" -msgstr "" -"Sửa file /etc/sysconfig/apache2 và cấu hình để tùy chọn " -"APACHE_SERVERNAME trỏ đến node điều khiển:" - -msgid "" -"Edit the /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME file to contain the " -"following:" -msgstr "" -"Sửa file /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME để bao gồm phần sau:" - -msgid "" -"Edit the /etc/sysconfig/network/ifcfg-INTERFACE_NAME file to contain the following:" -msgstr "" -"Sửa file /etc/sysconfig/network/ifcfg-INTERFACE_NAME để bao gồm phần sau:" - -msgid "" -"Edit the /etc/sysctl.conf file to contain the following " -"parameters:" -msgstr "" -"Sửa file /etc/sysctl.conf để chứa các thông số sau:" - -msgid "" -"Edit the /srv/www/openstack-dashboard/openstack_dashboard/local/" -"local_settings.py file and complete the following actions:" -msgstr "" -"Sửa file /srv/www/openstack-dashboard/openstack_dashboard/local/" -"local_settings.py và hoàn thành các công việc sau: " - -msgid "" -"Edit the admin-openrc.sh file and add the following " -"content:" -msgstr "" -"Sửa file admin-openrc.sh và thêm vào nội dung sau:" - -msgid "" -"Edit the demo-openrc.sh file and add the following " -"content:" -msgstr "" -"Sửa file demo-openrc.sh và thêm vào nội dung sau: " - -msgid "" -"Edit the trove-taskmanager.conf file so it includes the " -"required settings to connect to the OpenStack Compute service as shown below:" -msgstr "" -"Chỉnh sửa thư mục trove-taskmanager.conf sao cho chúng " -"chứa các cấu hình bắt buộc để kết nối tới dịch vụ Compute của OpenStack như " -"phía dưới:" - -msgid "" -"Edit the trove.conf file so it includes appropriate " -"values for the default datastore and network label regex as shown below:" -msgstr "" -"Sửa file trove.conf để nó bao gồm các giá trị thích hợp " -"cho kho dữ liệu mặc định và regex của nhãn mạng như sau:" - -msgid "" -"Edit the [DEFAULT] section of each file (except " -"api-paste.ini) and set appropriate values for the " -"OpenStack service URLs (can be handled by Keystone service catalog), logging " -"and messaging configuration. Edit the [database] section " -"in each file to add the SQL connections:" -msgstr "" -"Sửa mục [DEFAULT] của mỗi file (trừ api-paste." -"ini) và đặt các giá trị thích hợp cho các URL của dịch vụ " -"OpenStack (có thể được đảm nhận bởi danh mục dịch vụ của Keystone), các cấu " -"hình truy cập và truyền tin. Sửa mục [database] trên mỗi " -"file và thêm vào các kết nối SQL:" - -msgid "" -"Edit the [libvirt] section in the /etc/nova/nova-compute.conf/etc/nova/nova.conf file as follows:" -msgstr "" -"Sửa mục [libvirt] trong file filename os=\"ubuntu;debian" -"\">/etc/nova/nova-compute.conf/etc/nova/nova.conf như sau:" - -msgid "Enable the DHCP MTU option (26) and configure it to 1454 bytes:" -msgstr "Bật tùy chọn DHCP MTU (26) và cấu hình nó lên 1454 bytes:" - -msgid "Enable the Identity service virtual hosts:" -msgstr "Kích hoạt các máy ảo dịch vụ Identity:" - -msgid "" -"Enable the Open Build Service repositories based on your openSUSE or SLES " -"version:" -msgstr "" -"Cho phép các Open Build Service repository dựa trên phiên bản openSUSE hoặc " -"SLES của bạn:" - -msgid "" -"Enable the Open Build Service repositories for MongoDB based on your " -"openSUSE or SLES version:" -msgstr "" -"Bật các Open Build Service repository cho MongoDB dựa theo phiên bản " -"openSUSE hoặc SLES của bạn:" - -msgid "Ensure proper ownership of the mount point directory structure:" -msgstr "Đảm bảo quyền sở hữu hợp pháp của cấu trúc thư mục mount point:" - -msgid "Ensure the kernel module nbd is loaded." -msgstr "Đảm bảo rằng module nhân nbd đã được tải." - -msgid "" -"Ensure the module will be loaded on every boot by adding nbd in the /etc/modules-load.d/nbd.conf file." -msgstr "" -"Đảm bảo rằng module luôn được tải mỗi khi máy khởi động bằng các thêm " -"nbd vào file /etc/modules-load.d/nbd.conf." - -msgid "Example architectures" -msgstr "Các kiến trúc mẫu" - -msgid "Example for uploading rules for MySQL datastore:" -msgstr "Ví dụ về tải lên cái luật cho kho dữ liệu MySQL" - -msgid "Example using 192.168.1.0/24:" -msgstr "Ví dụ sử dụng 192.168.1.0/24:" - -msgid "Exit the database access client." -msgstr "Thoát phần mềm client truy cập cơ sở dữ liệu. " - -msgid "External network" -msgstr "Mạng ngoại vùng" - -msgid "External on 203.0.113.0/24 with gateway 203.0.113.1" -msgstr "Dải mạng bên ngoài là 203.0.113.0/24 với gateway là 203.0.113.1" - -msgid "FILE" -msgstr "FILE" - -msgid "FLOATING_IP_END" -msgstr "FLOATING_IP_END" - -msgid "FLOATING_IP_START" -msgstr "FLOATING_IP_START" - -msgid "Fedora does not require this package." -msgstr "Fedora không yêu cầu cần gói này." - -msgid "Fedora does not require this repository." -msgstr "Fedora không yêu cầu cần có repository này." - -msgid "Finalize installation" -msgstr "Kết thúc cài đặt" - -msgid "" -"First, edit option in the [database] " -"section. The URL provided here should point to an empty database. For " -"instance, connection string for MySQL database will be: " -msgstr "" -"Đầu tiên, sửa tùy chọn trong mục [database]. URL được cung cấp tại đây nên chỉ đến một cơ sở dữ liệu trống. Ví " -"dụ, chuỗi kết nối cho cơ sở dữ liệu MySQL sẽ là: ." - -msgid "" -"For OpenStack services, this guide uses SERVICE_PASS to reference service account passwords and " -"SERVICE_DBPASS to reference database passwords." -msgstr "" -"Đối với các dịch vụ của OpenStack, bài hướng dẫn sử dụng " -"SERVICE_PASS để nhắc đến các mật khẩu tài khoản " -"của dịch vụ và SERVICE_DBPASS để nhắc đến các mật " -"khẩu của cơ sở dữ liệu." - -msgid "" -"For best performance, we recommend that your environment meets or exceeds " -"the hardware requirements in or . However, OpenStack does not require a significant " -"amount of resources and the following minimum requirements should support a " -"proof-of-concept environment with core services and several " -"CirrOS instances:" -msgstr "" -"Để đạt được hiệu suất cao nhất, chúng tôi mong môi trường của bạn đạt tới " -"hoặc vượt hơn yêu cầu phần cứng trong hoặc . Tuy nhiên, OpenStack không yêu cầu quá nhiêu " -"tài nguyên và yêu cầu tối thiểu dưới đây đủ để hỗ trợ một môi trường thử " -"nghiệm bao gồm các dịch vụ chính và một vài CirrOS " -"instance." - -msgid "" -"For details about browsers that support noVNC, see https://github." -"com/kanaka/noVNC/blob/master/README.md, and https://github.com/" -"kanaka/noVNC/wiki/Browser-support, respectively." -msgstr "" -"Để biết thêm chi tiết về các trình duyệt hỗ trợ noVNC, xem https://github." -"com/kanaka/noVNC/blob/master/README.md và https://github.com/kanaka/" -"noVNC/wiki/Browser-support." - -msgid "" -"For every package that must connect to a Messaging Server, the Debian " -"package enables you to configure the IP address for that server and the user " -"name and password that is used to connect. The following example shows " -"configuration with the ceilometer-common package:" -msgstr "" -"Với mỗi gói cần được kết nối với Server Messaging, gói trong Debian cho phép " -"bạn cấu hình địa chỉ IP cho mỗi server mà có tên người dùng và mật khẩu để " -"kết nối tới server. Ví dụ sau sẽ giúp bạn các cấu hình một gói ceilometer-common:" - -msgid "" -"For example, using 203.0.113.0/24 with floating IP " -"address range 203.0.113.101 to 203.0.113.200:" -msgstr "" -"Ví dụ, sử dụng 203.0.113.0/24 với dải địa chỉ IP động từ " -"203.0.113.101 đến 203.0.113.200:" - -msgid "" -"For example, using an exclusive slice of 203.0.113.0/24 " -"with IP address range 203.0.113.24 to " -"203.0.113.31:" -msgstr "" -"Ví dụ, sử dụng một phần của 203.0.113.0/24 với dải địa " -"chỉ IP từ 203.0.113.24 đến 203.0.113.31:" - -msgid "" -"For information about disk and container formats for images, see Disk and container formats for images in the OpenStack " -"Virtual Machine Image Guide." -msgstr "" -"Để biết thêm thông tin về các định dạng đĩa và container cho các image, xem " -"Các định dạng đĩa và container cho image trong " -"Hướng dẫn về Image Máy ảo OpenStack." - -msgid "" -"For information about the parameters, see Image service command-line " -"client in the OpenStack Command-Line Interface Reference." -msgstr "" -"Để biết thêm thông tin về các tham số , xem client dòng lệnh của dịch vụ " -"Image trong Tham chiếu Giao diện dòng lệnh của OpenStack." - -msgid "" -"For information on requirements for other back ends, see Configuration Reference." -msgstr "" -"Để biết thêm thông tin về yêu cầu cho các back end khác, xem Cấu hình Tham khảo." - -msgid "" -"For more information about how to download and build images, see OpenStack Virtual Machine Image Guide. For " -"information about how to manage images, see the OpenStack User Guide." -msgstr "" -"Để biết thêm thông tin về cách tải xuống và tạo ra các image, xem tại " -"Hướng dẫn về image máy ảo OpenStack. Để " -"biết thêm thông tin về cách quản lý các image, xem tại Hướng dẫn sử " -"dụng OpenStack." - -msgid "" -"For more information about how to manage volumes, see the OpenStack " -"User Guide." -msgstr "" -"Để biết thêm chi tiết về cách quản lý các ổ lưu trữ, xem Hướng dẫn " -"Người dùng OpenStack." - -msgid "" -"For more information about system requirements, see the OpenStack Operations Guide." -msgstr "" -"Để biết thêm thông tin về các yêu cầu của hệ thống, xem Hướng dẫn Vận hành OpenStack." - -msgid "" -"For more information on other modules that enable additional features, see " -"the Deployment Guide." -msgstr "" -"Để biết thêm thông tin về các mô đun khác mà cho phép chèn thêm các tính " -"năng, xem tại Hướng dẫn triển khai." - -msgid "" -"For more information, see the Networking chapter of " -"the OpenStack Cloud Administrator Guide." -msgstr "" -"Để biết thêm thông tin, xem chương Networking của tài " -"liệu Hướng dẫn Quản trị viên OpenStack Cloud." - -msgid "" -"For more information, see the bug report." -msgstr "" -"Để biết thêm thông tin, xem bản báo lỗi." - -msgid "" -"For more information, see the SLES or the " -"openSUSE documentation." -msgstr "" -"Để biết thêm thông tin, xem tài liệu " -"SLES hoặc openSUSE ." - -msgid "" -"For security reasons, disable the temporary authentication token mechanism:" -msgstr "Vì các lý do bảo mật, tắt tạm thời cơ chế token xác thực tạm thời:" - -msgid "" -"For security reasons, do not use the temporary authentication token for " -"longer than necessary to initialize the Identity service." -msgstr "" -"Vì các lý do bảo mật, không sử dụng các token xác thực tạm thời lâu hơn cần " -"thiết để khởi tạo dịch vụ Identity." - -msgid "" -"For simplicity, this guide describes configuring the Image service to use " -"the file back end, which uploads and stores in a " -"directory on the controller node hosting the Image service. By default, this " -"directory is /var/lib/glance/images/." -msgstr "" -"Để cho đơn giản, bài hướng dẫn này mô tả quá trình cấu hình dịch vụ Image để " -"sử dụng back end của file, giúp tải lên và lưu trữ trong " -"một thư mục trên node điều khiển có cài dịch vụ Image. Mặc định, đường dẫn " -"của thư mục này là /var/lib/glance/images/." - -msgid "" -"For simplicity, this guide implicitly uses the default " -"domain." -msgstr "" -"Để đơn giản hóa, hướng dẫn này ám chỉ sử dụng miền mặc định." - -msgid "" -"For the restrict keys, you essentially remove the " -"nopeer and noquery options." -msgstr "" -"Để hạn chế các khóa, bạn cần phải loại bỏ các lựa chọn " -"không ngang hàngkhông truy vấn." - -msgid "" -"For the outside network to access VMs, and vice versa, routers between the " -"networks are needed. Each router has one gateway that is connected to a " -"network and many interfaces that are connected to subnets. Like a physical " -"router, subnets can access machines on other subnets that are connected to " -"the same router, and machines can access the outside network through the " -"gateway for the router." -msgstr "" -"Để hệ thống mạng bên ngoài truy cập vào các máy ảo và ngược lại, cần phải có " -"các router giữa các hệ thống mạng. Mỗi router có một gateway kết nối với một " -"hệ thống mạng và nhiều giao diện kết nối đến các subnet. Cũng giống như một " -"router vật lý, các subnet có thể truy cập vào các máy trên các subnet khác " -"được kết nối vào cùng một router, và các máy có thể truy cập ra hệ thống " -"mạng bên ngoài thông qua gateway của router." - -msgid "" -"Format the /dev/sdb1 and /dev/sdc1 " -"partitions as XFS:" -msgstr "" -"Xét định dạng các phân vùng /dev/sdb1/dev/" -"sdb1 thành XFS:" - -msgid "From a host on the external network, ping the tenant router gateway:" -msgstr "" -"Từ một máy vật lý trên hệ thống mạng ngoại vùng, ping đến gateway của tenant " -"router:" - -msgid "" -"From the compute node, a site on the " -"Internet:" -msgstr "" -"Từ node tính toán, đến một trang trên " -"Internet:" - -msgid "" -"From the compute node, the management " -"interface on the controller node:" -msgstr "" -"Từ node tinhas toán, đến giao diện " -"quản lý trên node điều khiển:" - -msgid "" -"From the controller node, a site on " -"the Internet:" -msgstr "" -"Từ node điều khiển, một trang trên " -"Internet:" - -msgid "" -"From the controller node, the " -"management interface on the compute node:" -msgstr "" -"Từ node điều khiển, đến giao diện quản " -"lý trên node tính toán:" - -msgid "" -"From the controller node, the " -"management interface on the network node:" -msgstr "" -"Từ node điều khiển, đến giao diện quản " -"lý trên node mạng:" - -msgid "" -"From the network node, a site on the " -"Internet:" -msgstr "" -"Từ node mạng, đến một trang trên " -"Internet:" - -msgid "" -"From the network node, the instance " -"tunnels interface on the compute node:" -msgstr "" -"Từ network node, các giao diện đường " -"hầm của instance trên compute node:" - -msgid "" -"From the network node, the management " -"interface on the controller node:" -msgstr "" -"Từ node mạng, đến giao diện quản lý " -"trên node điều khiển:" - -msgid "GLANCE_DBPASS" -msgstr "GLANCE_DBPASS" - -msgid "GLANCE_PASS" -msgstr "GLANCE_PASS" - -msgid "" -"Generally, the -common packages " -"install the configuration files. For example, the glance-common package installs the glance-api.conf and " -"glance-registry.conf files. So, for the Image service, " -"you must re-configure the glance-common package. The same " -"applies for cinder-common, nova-common, and heat-common packages." -msgstr "" -"Thường thì các gói -common cài " -"đặt các file cấu hình. Ví dụ, gói glance-common cài đặt " -"các file glance-api.confglance-registry." -"conf. Vì vậy, đối với dịch vụ Image, bạn phải cấu hình lại gói. " -"Điều này cũng đúng với các gói cinder-common, " -"nova-commonheat-common ." - -msgid "Generally, this section looks like this:" -msgstr "Thường thì mục này trông giống như sau:" - -msgid "Generate a key pair:" -msgstr "Tạo một cặp khóa:" - -msgid "" -"Generate a random value to use as the administration token during initial " -"configuration:" -msgstr "" -"Tạo ra một giá trị ngẫu nhiên để sử dụng như một token quản trị trong quá " -"trình khởi tạo cấu hình:" - -msgid "Generate a random value to use as the telemetry secret:" -msgstr "Sinh ra một giá trị ngẫu nhiên để sử dụng làm bí mật telemetry:" - -msgid "Generate and add a key pair:" -msgstr "Sinh ra và thêm vào một cặp khóa:" - -msgid "Grant proper access to the cinder database:" -msgstr "" -"Cấp quyền truy nhập thích hợp tới cơ sở dữ liệu cinder:" - -msgid "Grant proper access to the glance database:" -msgstr "" -"Cấp quyền truy nhập thích hợp tới cơ sở dữ liệu glance:" - -msgid "Grant proper access to the heat database:" -msgstr "" -"Cấp quyền truy cập thích hợp cho cơ sở dữ liệu heat:" - -msgid "Grant proper access to the keystone database:" -msgstr "" -"Cấp quyền truy cập thích hợp tới cơ sở dữ liệu keystone:" - -msgid "Grant proper access to the neutron database:" -msgstr "" -"Cấp quyền truy cập thích hợp cho cơ sở dữ liệu neutron:" - -msgid "Grant proper access to the nova database:" -msgstr "" -"Cấp quyền truy cập thích hợp cho cơ sở dữ liệu nova:" - -msgid "Grant proper access to the sahara database:" -msgstr "" -"Cấp quyền truy cập thích hợp tới cơ sở dữ liệu sahara:" - -msgid "HASH_PATH_PREFIX" -msgstr "HASH_PATH_PREFIX" - -msgid "HASH_PATH_SUFFIX" -msgstr "HASH_PATH_SUFFIX" - -msgid "HEAT_DBPASS" -msgstr "HEAT_DBPASS" - -msgid "HEAT_DOMAIN_PASS" -msgstr "HEAT_DOMAIN_PASS" - -msgid "HEAT_PASS" -msgstr "HEAT_PASS" - -msgid "Horizon enables you to customize the brand of the dashboard." -msgstr "Horizon cho phép bạn tùy chỉnh nhãn hiệu của dashboard." - -msgid "" -"Horizon provides a set of core classes and reusable templates and tools." -msgstr "" -"Horizon cung cấp một bộ các lớp chính, các bản mẫu và công cụ có khả năng " -"tái sử dụng." - -msgid "" -"However, VMs will reduce performance of your instances, particularly if your " -"hypervisor and/or processor lacks support for hardware acceleration of " -"nested VMs." -msgstr "" -"Tuy nhiên các máy ảo sẽ làm giảm thiểu hiệu suất các instance của bạn, đặc " -"biệt nếu hypervisor và bộ xử lý của bạn thiếu khả năng hỗ trợ cho việc tăng " -"tốc phần cứng khi các máy ảo liên kết với nhau." - -msgid "ID" -msgstr "ID" - -msgid "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" -msgstr "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" - -msgid "INTERFACE_NAME" -msgstr "INTERFACE_NAME" - -msgid "IP address: 10.0.0.11" -msgstr "địa chỉ IP: 10.0.0.11" - -msgid "IP address: 10.0.0.21" -msgstr "địa chỉ IP: 10.0.0.21" - -msgid "IP address: 10.0.0.31" -msgstr "Địa chỉ IP: 10.0.0.31" - -msgid "IP address: 10.0.0.41" -msgstr "Địa chỉ IP: 10.0.0.41" - -msgid "IP address: 10.0.0.51" -msgstr "Địa chỉ IP: 10.0.0.51" - -msgid "IP address: 10.0.0.52" -msgstr "Địa chỉ IP: 10.0.0.52" - -msgid "IP address: 10.0.1.21" -msgstr "Địa chỉ IP: 10.0.1.21" - -msgid "IP address: 10.0.1.31" -msgstr "Địa chỉ IP: 10.0.1.31" - -msgid "" -"Ideally, you can prevent these problems by enabling jumbo frames on the physical network that " -"contains your tenant virtual networks. Jumbo frames support MTUs up to " -"approximately 9000 bytes which negates the impact of GRE overhead on virtual " -"networks. However, many network devices lack support for jumbo frames and " -"OpenStack administrators often lack control over network infrastructure. " -"Given the latter complications, you can also prevent MTU problems by " -"reducing the instance MTU to account for GRE overhead. Determining the " -"proper MTU value often takes experimentation, but 1454 bytes works in most " -"environments. You can configure the DHCP server that assigns IP addresses to " -"your instances to also adjust the MTU." -msgstr "" -"Lý tưởng nhất thì bạn có thể ngăn chặn các vấn đề này bằng cách cho phép các " -"jumbo frame trên hệ thống " -"mạng vật lý mà chứa hệ thống mạng ảo tenant của bạn. Các jumbo frame hỗ trợ " -"các MTU lên đến xấp xỉ 9000 bytes qua đó giảm bớt ảnh hưởng của quá tải GRE " -"trên các mạng ảo. Tuy nhiên, nhiều thiết bị mạng thiếu sự hỗ trợ dành cho " -"các jumbo frame và các quản trị viên OpenStack thường thiếu khả năng kiểm " -"soát đối vớicơ sở hạ tầng mạng. Vì lý do ở sau, bạn cũng có thể ngăn chặn " -"các vấn đề liên quan tới MTU bằng cách giảm instance MTU để tính đến việc " -"quá tải GRE. Quyết định giá trị MTU phù hợp phải thông qua nhiều thử nghiệm, " -"nhưng 1454 byte phù hợp với phần lớn các môi trường. Bạn có thể cấu hình cho " -"DHCP server có nhiệm vụ gán địa chỉ IP cho các instance của bạn tự điều " -"chỉnh thích hợp MTU." - -msgid "" -"If the status does not indicate available, check the logs " -"in the /var/log/cinder directory on the controller and " -"volume nodes for more information." -msgstr "" -"Nếu trạng thái không hiện là available, kiểm tra các bản " -"ghi trong thư mục /var/log/cinder trên các node điều " -"khiển và node ổ lưu trữ để biết thêm thông tin." - -msgid "" -"If the upgrade process includes a new kernel, reboot your system to activate " -"it." -msgstr "" -"Nếu quá trình nâng cấp bao gồm một nhân mới, khởi động lại hệ thống của bạn " -"để kích hoạt nó." - -msgid "" -"If the web browser to access remote consoles resides on a host that cannot " -"resolve the controller hostname, you must replace " -"controller with the management interface IP " -"address of the controller node." -msgstr "" -"Nếu trình duyệt web dùng để truy cập các giao diện điều khiển từ xa nằm trên " -"một máy vật lý không thể phân giải được tên máy controller, bạn phải thay controller bằng địa " -"chỉ IP của giao diện quản lý của node điều khiển." - -msgid "" -"If this command returns a value of one or greater, your " -"compute node supports hardware acceleration which typically requires no " -"additional configuration." -msgstr "" -"Nếu câu lệnh này trả về kết quả one or greater, node " -"tính toán của bạn có hỗ trợ tăng tốc phần cứng mà không phải cấu hình gì " -"thêm." - -msgid "" -"If this command returns a value of zero, your compute " -"node does not support hardware acceleration and you must configure " -"libvirt to use QEMU instead of KVM." -msgstr "" -"Nếu câu lệnh này trả về kết quả zero, node tính toán " -"của bạn không hỗ trợ tăng tốc phần cứng và bạn phải cấu hình " -"libvirt để sử dụng QEMU thay vì KVM." - -msgid "" -"If you are building your OpenStack nodes as virtual machines, you must " -"configure the hypervisor to permit promiscuous mode on the external network." -msgstr "" -"Nếu bạn đang xây dựng các node OpenStack của mình là các máy ảo, bạn phải " -"cấu hình hypervisor để cho phép chế độ hỗn tạp trên hệ thống mạng ngoại vùng." - -msgid "" -"If you are familiar with these packages and pre-seeding, you can proceed to " -"." -msgstr "" -"Nếu bạn đã quen thuộc với các gói này và việc sắp xếp trước, bạn có thể tiếp " -"tục đến ." - -msgid "" -"If you change the journaling configuration, stop the MongoDB service, remove " -"the initial journal files, and start the service:" -msgstr "" -"Nếu bạn thay đổi cấu hình ghi chép nhật ký, dừng dịch vụ MongoDB, xóa các " -"file nhật ký gốc và khởi động dịch vụ:" - -msgid "" -"If you choose to install on VMs, make sure your hypervisor permits " -"promiscuous mode and disables MAC address filtering " -"on the external network." -msgstr "" -"Nếu bạn chọn cài đặt trên các máy ảo, hãy đảm bảo rằng hypervisor của bạn " -"cho phép chạy chế độ hỗn tạp và vô hiệu hóa tính năng " -"lọc địa chỉ MAC trên hệ thống mạng ngoại vùng." - -msgid "" -"If you configure a package with debconf incorrectly, you can re-configure it, as follows:" -msgstr "" -"Nếu bạn cấu hình không chính xác một gói với debconf, bạn có thể cấu hình lại nó như sau:" - -msgid "" -"If you decide to not use , then you will have to create the " -"database and manage its access rights yourself, and run the following by " -"hand." -msgstr "" -"Nếu bạn quyết định không sử dụng , bạn sẽ phải tạo cơ sở dữ " -"liệu và tự quản lí quyền truy cập cho nó và chạy lệnh sau đây bằng tay." - -msgid "" -"If you intend to use non-raw image types such as QCOW2 and VMDK, install the " -"QEMU support package:" -msgstr "" -"Nếu bạn định sử dụng các image không phải dạng thô như QCOW2 và VMDK, cài " -"đặt gói bổ trợ QEMU:" - -msgid "" -"If you use the Data processing service with a MySQL or MariaDB database, you " -"must configure the maximum number of allowed packets for storing big job " -"binaries in the service internal database." -msgstr "" -"Nếu bạn sử dụng dịch vụ xử lý Data với cơ sở dữ liệu MySQL hoặc MariaDB, bạn " -"cần phải cấu hình số lượng tối đa các gói tin được phép cho lưu trữ các mã " -"nhị phân của các job lớn trong cơ sở dữ liệu nội bộ dịch vụ." - -msgid "If you want to do backup and restore, you also need Object Storage." -msgstr "Block Storage dùng để sao lưu và phục hồi" - -msgid "" -"If you want to provision datastores on block-storage volumes, you also need " -"Block Storage." -msgstr "" -"Block Storage cũng được dùng trong trường hợp cung cấp kho dữ liệu trong các " -"block storage." - -msgid "" -"If your environment includes the Block Storage service, you can attach a " -"volume to the instance." -msgstr "" -"Nếu hệ thống của bạn bao gồm dịch vụ Block Storage, bạn có thể gắn một ổ lưu " -"trữ vào instance." - -msgid "" -"If your host does not contain the public/private key pair created in an " -"earlier step, SSH prompts for the default password associated with the " -"cirros user." -msgstr "" -"Nếu máy vật lý của bạn không chứa cặp khóa public/private được tạo ở bước " -"trước đó, SSH sẽ hỏi đến mật khẩu mặc định liên kết với người dùng " -"cirros." - -msgid "" -"If your instance does not launch or seem to work as you expect, see the " -"OpenStack " -"Operations Guide for more information or use one of the " -"many other options to seek " -"assistance. We want your environment to work!" -msgstr "" -"Nếu instance của bạn không chạy được hoặc hoạt động như mong muốn, xem Hướng dẫn Vận hành " -"OpenStack để biết thêm thông tin hoặc sử dụng một trong " -"nhiều lựa chọn khác để tìm " -"kiếm sự hỗ trợ. Chúng tôi mong muốn môi trường của bạn hoạt động!" - -msgid "" -"If your storage nodes use LVM on the operating system disk, you must also " -"add the associated device to the filter. For example, if the /dev/" -"sda device contains the operating system:" -msgstr "" -"Nếu các node lưu trữ của bạn sử dụng LVM trên đĩa hệ thống, bạn phải thêm " -"thiết bị liên quan vào bộ lọc. Ví dụ, nếu thiết bị /dev/sda chứa hệ điều hành:" - -msgid "" -"If your system uses a different device name, adjust these steps accordingly." -msgstr "" -"Nếu hệ thống của bạn sử dụng một thiết bị có tên khác, điều chỉnh các bước " -"sau sao cho phù hợp." - -msgid "" -"If your web browser runs on a host that cannot resolve the " -"controller host name, you can replace " -"controller with the IP address of the management " -"interface on your controller node." -msgstr "" -"Nếu trình duyệt web của bạn chạy trên một máy vật lý không phân giải được " -"tên máy controller, bạn có thể thay thế " -"controller bằng địa chỉ IP của mạng quản lý trên " -"node điều khiển của bạn." - -msgid "Implement the changes:" -msgstr "Thực hiện các thay đổi:" - -msgid "" -"In Debian, the Keystone package offers automatic registration of Keystone in " -"the service catalogue. This is equivalent of running the below commands:" -msgstr "" -"Trong Debian, gói Keystone cho phép tự động đăng ký Keystone trong catalogue " -"dịch vụ. Điều này đồng nghĩa với việc chạy các câu lệnh sau:" - -msgid "" -"In Kilo, the keystone project deprecates Eventlet in favor of a WSGI server. " -"This guide uses the Apache HTTP server with mod_wsgi to " -"serve keystone requests on ports 5000 and 35357. By default, the keystone service still listens on ports 5000 " -"and 35357. Therefore, this guide disables the keystone service." -msgstr "" -"Trong Kilo, dự án keystone từ bỏ Eventlet và thay vào đó sử dụng WSGI " -"server. Hướng dẫn này sử dụng Apache HTTP server với mod_wsgi để phục vụ các yêu cầu tới keystone trên các cổng 5000 và 35357. " -"Mặc định, dịch vụ keystone vẫn " -"lắng nghe trên cổng 5000 và 35357. Chính vì thế hướng dẫn này vô hiệu hóa " -"dịch vụ keystone." - -msgid "" -"In addition to external networks, any Networking set up has one or more " -"internal networks. These software-defined networks connect directly to the " -"VMs. Only the VMs on any given internal network, or those on subnets " -"connected through interfaces to a similar router, can access VMs connected " -"to that network directly." -msgstr "" -"Ngoài các hệ thống mạng ngoại vùng, bất kì thiết lập Networking nào cũng có " -"một hoặc nhiều hệ thống mạng nội vùng. Các mạng được định nghĩa bởi phần mềm " -"này kết nối trực tiếp vào các máy ảo. Chỉ các máy ảo trên bất kì hệ thống " -"mạng nội vùng nào, hoặc các máy ảo trên các subnet được kết nối thông qua " -"các giao diện đến một router tương tự, có thể truy cập các máy ảo được kết " -"nối trực tiếp vào hệ thống mạng đó." - -msgid "" -"In each client environment script, configure the Block Storage client to use " -"API version 2.0:" -msgstr "" -"Trong mỗi script môi trường client, cấu hình để Block Storage client sử dụng " -"API phiên bản 2.0:" - -msgid "" -"In each client environment script, configure the Image service client to use " -"API version 2.0:" -msgstr "" -"Trong mỗi kịch bản môi trường client, cấu hình client dịch vụ Image để sử " -"dụng API phiên bản 2.0:" - -msgid "" -"In the [DEFAULT] and [keystone_authtoken] sections, configure Identity service access:" -msgstr "" -"Trong mục [DEFAULT][keystone_authtoken], cấu hình truy cập dịch vụ Identity:" - -msgid "" -"In the [DEFAULT] and [nova] sections, " -"configure Networking to notify Compute of network topology changes:" -msgstr "" -"Trong mục [DEFAULT][nova], cấu " -"hình Networking để thông báo đến khi có các thay đổi trong mô hình mạng:" - -msgid "" -"In the [DEFAULT] and [oslo_messaging_rabbit] sections, configure RabbitMQ message " -"queue access:" -msgstr "" -"Trong các phần [MẶC ĐỊNH] và " -"[oslo_messaging_rabbit], cấu hình truy cập dịch vụ hàng " -"đợi thông điệp RabbitMQ:" - -msgid "" -"In the [DEFAULT] section, configure access parameters:" -msgstr "" -"Trong mục [DEFAULT], cấu hình các thông số truy cập:" - -msgid "" -"In the [DEFAULT] section, configure information about the " -"heat Identity service domain:" -msgstr "" -"Trong mục [DEFAULT] section, cấu hình thông tin về miền " -"heat của dịch vụ Identity:" - -msgid "" -"In the [DEFAULT] section, configure notifications and " -"RabbitMQ message broker access:" -msgstr "" -"Trong mục [DEFAULT], cấu hình thông báo và truy cập kênh " -"truyền tin RabbitMQ:" - -msgid "In the [DEFAULT] section, configure notifications:" -msgstr "Trong phần [DEFAULT], cấu hình các thông báo:" - -msgid "" -"In the [DEFAULT] section, configure the APIs and drivers:" -msgstr "" -"Trong mục [DEFAULT], cấu hình các API và driver:" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option to use the management interface IP address of the controller " -"node:" -msgstr "" -"Trong phần [MẶC ĐỊNH], cấu hình lựa chọn my_ip để sử dụng giao diện quản lý địa chỉ IP của nút điều khiển:" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option:" -msgstr "" -"Trong mục [DEFAULT], cấu hình tùy chọn my_ip:" - -msgid "" -"In the [DEFAULT] section, configure the noop notification driver to disable notifications because they only " -"pertain to the optional Telemetry service:" -msgstr "" -"Trong mục [DEFAULT] cấu hình driver thông báo " -"noop để vô hiệu hóa các thông báo bởi vì chúng thuộc về " -"dịch vụ Telemetry service:" - -msgid "" -"In the [DEFAULT] section, configure the VNC proxy to use " -"the management interface IP address of the controller node:" -msgstr "" -"Trong mục [DEFAULT], cấu hình để VNC proxy sử dụng địa " -"chỉ IP của giao diện mạng quản lý của node điều khiển:" - -msgid "" -"In the [DEFAULT] section, configure the bind port, user, " -"and configuration directory:" -msgstr "" -"Trong mục [DEFAULT], cấu hình port để gán, người dùng và " -"thư mục cấu hình:" - -msgid "" -"In the [DEFAULT] section, configure the interface and " -"DHCP drivers and enable deletion of defunct DHCP namespaces:" -msgstr "" -"Trong mục [DEFAULT], cấu hình các driver giao diện và " -"DHCP và cho phép xóa các DHCP namespace không còn khả dụng:" - -msgid "" -"In the [DEFAULT] section, configure the location of the " -"Image service:" -msgstr "" -"Trong mục [DEFAULT], cấu hình địa chỉ của Image service:" - -msgid "" -"In the [DEFAULT] section, configure the metadata and wait " -"condition URLs:" -msgstr "" -"Trong phần [MẶC ĐỊNH], cấu hình metadata và đợi URLs điều " -"kiện: " - -msgid "" -"In the [DEFAULT] section, configure the metadata host:" -msgstr "Trong mục [DEFAULT], cấu hình máy chủ metadata:" - -msgid "" -"In the [DEFAULT] section, configure the network and " -"security group APIs:" -msgstr "" -"Trong mục [DEFAULT], cấu hình hệ thống mạng và các API " -"nhóm bảo mật:" - -msgid "" -"In the [DEFAULT] section, configure the network " -"parameters:" -msgstr "" -"Trong phần [MẶC ĐỊNH], cáu hình các tham số của mạng: " - -msgid "" -"In the [DEFAULT] section, define the value of the initial " -"administration token:" -msgstr "" -"Trong phần [DEFAULT], định nghĩa giá trị của token quản " -"trị ban đầu:" - -msgid "" -"In the [DEFAULT] section, enable and configure remote " -"console access:" -msgstr "" -"Trong phần [DEFAULT], cho quyền và cấu hình truy nhập " -"điều khiển từ xa:" - -msgid "" -"In the [DEFAULT] section, enable the dnsmasq configuration file:" -msgstr "" -"Trong mục [DEFAULT], bật file cấu hình " -"dnsmasq:" - -msgid "In the [DEFAULT] section, enable the LVM back end:" -msgstr "Trong mục [DEFAULT], bật LVM back end:" - -msgid "" -"In the [DEFAULT] section, enable the Modular Layer 2 " -"(ML2) plug-in, router service, and overlapping IP addresses:" -msgstr "" -"Trong mục [DEFAULT], cho phép plug-in Modular Layer 2 " -"(ML2), dịch vụ định tuyến và các địa chỉ IP trùng nhau:" - -msgid "" -"In the [app:proxy-server] section, enable automatic " -"account creation:" -msgstr "" -"Trong mục [app:proxy-server], cho phép khởi tạo tài khoản " -"tự động:" - -msgid "" -"In the [database] section, comment out any " -"connection options because compute nodes do not directly " -"access the database." -msgstr "" -"Trong mục [database], đưa vào phần chú thích tất cả các " -"tùy chọn connection bởi vì các node tính toán không truy " -"cập trực tiếp vào cơ sở dữ liệu." - -msgid "" -"In the [database] section, comment out any " -"connection options because network nodes do not directly " -"access the database." -msgstr "" -"Trong mục [database], đưa vào phần chú thích tất cả các " -"tùy chọn connection vì node mạng không truy cập trực tiếp " -"vào cơ sở dữ liệu." - -msgid "" -"In the [database] section, configure database access:" -msgstr "" -"Trong phần [database], cấu hình truy cập cơ sở dữ liệu:" - -msgid "" -"In the [ec2authtoken] section, configure Identity service " -"access:" -msgstr "" -"Trong mục [ec2authtoken], cấu hình truy cập dịch vụ " -"Identity:" - -msgid "" -"In the [filter:authtoken] section, configure Identity " -"service access:" -msgstr "" -"Trong mục [filter:authtoken], cấu hình truy cập dịch vụ " -"Identity:" - -msgid "" -"In the [filter:cache] section, configure the " -"memcached location:" -msgstr "" -"Trong mục [filter:cache] section, cấu hình địa chỉ " -"memcached:" - -msgid "" -"In the [filter:ceilometer] section, configure " -"notifications:" -msgstr "" -"Trong phần [filter:ceilometer], cấu hình các thông báo:" - -msgid "" -"In the [filter:keystoneauth] section, add the " -"ResellerAdmin role:" -msgstr "" -"Trong phần [filter:keystoneauth], thêm role " -"ResellerAdmin: " - -msgid "" -"In the [filter:keystoneauth] section, configure the " -"operator roles:" -msgstr "" -"Trong mục [filter:keystoneauth], cấu hình các vai trò " -"người vận hành:" - -msgid "" -"In the [glance] section, configure the location of the " -"Image service:" -msgstr "" -"Trong mục [glance], cấu hình địa chỉ của dịch vụ Image:" - -msgid "" -"In the [glance_store] section, configure the local file " -"system store and location of image files:" -msgstr "" -"Trong mục [glance_store], cấu hình kho lưu trữ hệ thống " -"tập tin nội bộ và địa chỉ của các file image:" - -msgid "" -"In the [keystone_authtoken] and [ec2authtoken] sections, configure Identity service access:" -msgstr "" -"Trong mục [keystone_authtoken] và " -"[ec2authtoken], cấu hình truy cập dịch vụ Identity:" - -msgid "" -"In the [keystone_authtoken] and [paste_deploy] sections, configure Identity service access:" -msgstr "" -"Trong mục [keystone_authtoken] và " -"[paste_deploy], cấu hình truy cập dịch vụ Identity:" - -msgid "" -"In the [keystone_authtoken] section, configure Identity " -"service access:" -msgstr "" -"Trong phần [keystone_authtoken], cấu hình truy cập dịch " -"vụ Identity:" - -msgid "" -"In the [lvm] section, configure the LVM back end with the " -"LVM driver, cinder-volumes volume group, iSCSI protocol, " -"and appropriate iSCSI service:" -msgstr "" -"Trong mục [lvm]cinder-volumes, giao thức iSCSI và dịch vụ " -"iSCSI thích hợp:" - -msgid "" -"In the [memcache] section, configure the Memcache service:" -msgstr "Trong phần [memcache], cấu hình dịch vụ Memcache:" - -msgid "" -"In the [mysqld] section, set the bind-address key to the management IP address of the controller node to enable " -"access by other nodes via the management network:" -msgstr "" -"Trong phần [mysqld], thiết lập khoá bind-" -"address bằng địa chỉ IP quản lí của controller node để cho phép " -"truy cập bởi các node khác thông qua mạng quản lí:" - -msgid "" -"In the [mysqld] section, set the following keys to enable " -"useful options and the UTF-8 character set:" -msgstr "" -"Trong phần [mysqld], thiết lập những khoá sau để bật các " -"tính năng hữu dụng và bộ kí tự UTF-8:" - -msgid "" -"In the [neutron] section, configure access parameters:" -msgstr "" -"Trong mục [neutron], cấu hình các thông số truy cập:" - -msgid "" -"In the [neutron] section, enable the metadata proxy and " -"configure the secret:" -msgstr "" -"Trong mục [neutron] section, bật metadata proxy và cấu " -"hình bí mật:" - -msgid "" -"In the [pipeline:main] section, add ceilometer:" -msgstr "" -"Trong phần [pipeline:main], thêm ceilometer:" - -msgid "" -"In the [pipeline:main] section, enable the appropriate " -"modules:" -msgstr "" -"Trong phần [pipeline:main], cho phép các mô đun thích " -"hợp: " - -msgid "" -"In the [publisher] section, configure the telemetry " -"secret:" -msgstr "Trong phần [publisher], cấu hình mã mật telemetry:" - -msgid "" -"In the [revoke] section, configure the SQL revocation " -"driver:" -msgstr "" -"Trong phần [revoke], cấu hình trình điều khiển thu hồi " -"SQL:" - -msgid "" -"In the [securitygroup] section, enable security groups, " -"enable ipset, and configure the OVS " -"iptables firewall driver:" -msgstr "" -"Trong mục [securitygroup] , bật các nhóm bảo mật," -"ipset và cấu hình driver firewall OVS " -"iptables:" - -msgid "" -"In the [service_credentials] section, configure service " -"credentials:" -msgstr "" -"Trong mục [service_credentials], cấu hình các thông tin " -"xác thực dịch vụ:" - -msgid "" -"In the [storage-policy:0] section, configure the default " -"storage policy:" -msgstr "" -"Trong mục [storage-policy:0], cấu hình chính sách lưu trữ " -"mặc định:" - -msgid "" -"In the [swift-hash] section, configure the hash path " -"prefix and suffix for your environment." -msgstr "" -"Trong phần [swift-hash] sẽ tiến hành cấu hình cho tiền tố " -"và hậu tố của đường băm cho môi trường của bạn." - -msgid "" -"In the [token] section, configure the UUID token provider " -"and Memcached driver:" -msgstr "" -"Trong phần [token], cấu hình trình cung cấp UUID token và " -"trình điều khiển Memcached:" - -msgid "" -"In the devices section, add a filter that accepts the " -"/dev/sdb device and rejects all other devices:" -msgstr "" -"Trong mục devices, thêm một bộ lọc cho phép thiết bị " -"/dev/sdb và từ chối tất cả các thiết bị khác:" - -msgid "Initial networks" -msgstr "Các hệ thống mạng ban đầu" - -msgid "Initialize the database:" -msgstr "Khởi tạo cơ sở dữ liệu:" - -msgid "Install and configure" -msgstr "Cài đặt và cấu hình" - -msgid "" -"Install and configure NTP using the instructions in ." -msgstr "" -"Cài đặt và cấu hình NTP bằng cách sử dụng hướng dẫn trong phần ." - -msgid "Install and configure Block Storage volume components" -msgstr "Cài đặt và cấu hình các thành phần ổ lưu trữ của Block Storage" - -msgid "Install and configure Orchestration" -msgstr "Cài đặt và cấu hình Orchestration" - -msgid "Install and configure a compute node" -msgstr "Cài đặt và cấu hình một nút compute" - -msgid "Install and configure a storage node" -msgstr "Cài đặt và cấu hình storage node" - -msgid "Install and configure compute node" -msgstr "Cài đặt và cấu hình node tính toán" - -msgid "Install and configure controller node" -msgstr "Cài đặt và cấu hình node điều khiển" - -msgid "Install and configure network node" -msgstr "Cài đặt và cấu hình node mạng" - -msgid "Install and configure storage node components" -msgstr "Cài đặt và cấu hình các thành tố trong nút lưu trữ" - -msgid "Install and configure the controller node" -msgstr "Cài đặt và cấu hình node điều khiển" - -msgid "Install and configure the storage nodes" -msgstr "Cài đặt và cấu hình các nút lưu trữ" - -msgid "Install required packages:" -msgstr "Cài đặt các gói bắt buộc:" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1214928. -msgid "Install the ceilometermiddleware package:" -msgstr "Cài đặt gói ceilometermiddleware:" - -msgid "" -"Install the rdo-release-kilo package to enable the RDO " -"repository:" -msgstr "" -"Cài đặt gói rdo-release-kilo để cho phép RDO repository:" - -msgid "Install the Data processing service" -msgstr "Cài đặt dịch vụ xử lý Data:" - -msgid "Install the Database service" -msgstr "Cài đặt dịch vụ Database" - -msgid "Install the Debian Wheezy OpenStack repository for Juno:" -msgstr "Cài đặt Debian Wheezy OpenStack repository cho Juno:" - -msgid "Install the LVM packages:" -msgstr "Cài đặt các gói LVM:" - -msgid "Install the MongoDB package:" -msgstr "Cài đặt gói MongoDB:" - -msgid "Install the Ubuntu Cloud archive keyring and repository:" -msgstr "Cài đặt archive keyring và repository của Ubuntu Cloud:" - -msgid "Install the package:" -msgstr "Cài gói tin:" - -msgid "Install the packages:" -msgstr "Cài đặt các gói phần mềm:" - -msgid "Install the required packages:" -msgstr "Cài đặt những gói cần thiết:" - -msgid "Install the supporting utility packages:" -msgstr "Cài đặt các gói hỗ trợ tiện ích:" - -msgid "Instance tunnels on 10.0.1.0/24 without a gateway" -msgstr "" -"Các đường hầm cho máy ảo sử dụng dải mạng 10.0.1./24 và không cần gateway" - -msgid "KEYSTONE_DBPASS" -msgstr "KEYSTONE_DBPASS" - -msgid "Keep these values secret and do not change or lose them." -msgstr "Giữ bí mật các giá trị này, không được đổi hoặc làm mất chúng." - -msgid "" -"Kill any existing dnsmasq " -"processes:" -msgstr "" -"Ngừng bất kì quá trình dnsmasq " -"đang tồn tại: " - -msgid "" -"Later on, the package will configure the below directive with the value you " -"entered:" -msgstr "" -"Sau này, gói phần mềm sẽ cấu hình chỉ lệnh sau với giá trị mà bạn nhập vào:" - -msgid "Launch an instance" -msgstr "Khởi tạo một máy ảo" - -msgid "" -"Launch an instance using OpenStack " -"Networking (neutron) or legacy networking (nova-network) . For more information, see the " -"OpenStack User Guide." -msgstr "" -"Khởi tạo một instance sử dụng OpenStack Networking (neutron) hoặc legacy networking (nova-network) . Để biết thêm chi " -"tiết, xem OpenStack User Guide." - -msgid "Launch an instance with OpenStack Networking (neutron)" -msgstr "Chạy một instance với OpenStack Networking (neutron)" - -msgid "Launch an instance with legacy networking (nova-network)" -msgstr "Khởi tạo một instance với hệ thống mạng legacy (nova-network)" - -msgid "Launch the instance:" -msgstr "Chạy một instance:" - -msgid "" -"Launching a virtual machine or instance involves many interactions among " -"several services. The following diagram provides the conceptual architecture " -"of a typical OpenStack environment." -msgstr "" -"Khởi chạy một máy ảo hoặc instance liên quan đến nhiều tương tác giữa các " -"dịch vụ. Giản đồ dưới đây cung cấp kiến trúc dạng khái niệm của một môi " -"trường OpenStack điển hình." - -msgid "Legacy networking (nova-network)" -msgstr "Legacy networking (nova-network)" - -msgid "" -"Legacy networking primarily involves compute nodes. However, you must " -"configure the controller node to use legacy networking." -msgstr "" -"Legacy networking chủ yếu xoay quanh các node tính toán. Tuy nhiên, bạn phải " -"cấu hình node điều khiển để sử dụng legacy networking." - -msgid "" -"Like a physical network, a virtual network requires a subnet assigned to it. The external network shares the same subnet and " -"gateway associated with the physical network " -"connected to the external interface on the network node. You should specify " -"an exclusive slice of this subnet for router and " -"floating IP addresses to prevent interference with other devices on the " -"external network." -msgstr "" -"Giống như mạng vật lý, một mạng ảo cũng cần có một subnet để gán cho nó. Mạng ngoại vùng chia sẻ cùng một subnet và " -"gateway liên kết với mạng vật lý mà đã được kết nối " -"với giao diệnngoại vùng trên node mạng. Bạn cần phần xác định rõ một phần " -"của subnet này cho router và các địa chỉ IP động để " -"ngăn ngừa xung đột với các thiết bị khác nằm trên hệ thống mạng ngoại vùng." - -msgid "" -"Like the external network, your tenant network also requires a subnet " -"attached to it. You can specify any valid subnet because the architecture " -"isolates tenant networks. By default, this subnet uses DHCP so your " -"instances can obtain IP addresses." -msgstr "" -"Cũng giống như mạng ngoại vùng, mạng tenant của bạn cũng phải được gán với " -"một subnet. Bạn có thể sử dụng bất kì một subnet khả dụng nào bởi vì kiến " -"trúc này đã cô lập các mạng tenant. Mặc định, subnet này sử dụng DHCP để cấp " -"phát địa chỉ IP cho các instance của bạn." - -msgid "" -"List API endpoints in the Identity service to verify connectivity with the " -"Identity service:" -msgstr "" -"Danh sách các điểm cuối API trong dịch vụ Identity để xác thực việc kết nối " -"với dịch vụ Identity:" - -msgid "List agents to verify successful launch of the neutron agents:" -msgstr "" -"Liệt kê ra danh sách các agent để xác nhận đã chạy thành công các neutron " -"agent:" - -msgid "List available flavors:" -msgstr "Danh sách các flavor có sẵn:" - -msgid "List available images:" -msgstr "Danh sách các image có sẵn:" - -msgid "" -"List available meters again to validate detection of the image download:" -msgstr "" -"Liệt kê ra lại danh sách các thước đo hiện hành để xác nhận việc tìm thấy " -"phần image tải về:" - -msgid "List available meters:" -msgstr "Liệt kê ra danh sách các thước đo hiện có:" - -msgid "List available networks:" -msgstr "Danh sách các mạng có sẵn:" - -msgid "List available security groups:" -msgstr "Danh sách các nhóm bảo mật có sẵn:" - -msgid "List containers:" -msgstr "Liệt kê ra danh sách các container:" - -msgid "" -"List images in the Image service catalog to verify connectivity with the " -"Image service:" -msgstr "" -"Liệt kê ra danh sách các image trong danh mục dịch vụ Image để xác nhận kết " -"nối với dịch vụ Image:" - -msgid "" -"List loaded extensions to verify successful launch of the neutron-" -"server process:" -msgstr "" -"Liệt kê ra danh sách các phần mở rộng đã được tải để xác nhận quá trình " -"neutron-server đã chạy thành công:" - -msgid "" -"List service components to verify successful launch and registration of each " -"process:" -msgstr "" -"Danh sách các thành tố dịch vụ mà đã kiểm chứng chạy thành công và việc đăng " -"ký sau mỗi quá trình:" - -msgid "List service components to verify successful launch of each process:" -msgstr "" -"Liệt kê ra danh sách các thành phần dịch vụ để xác nhận chúng đều đã khởi " -"động thành công:" - -msgid "List volumes:" -msgstr "Liệt kê ra các ổ lưu trữ:" - -msgid "" -"Load the admin-openrc.sh file to populate environment " -"variables with the location of the Identity service and the admin project and user credentials:" -msgstr "" -"Tải file admin-openrc.sh để truyền địa chỉ của dịch vụ " -"Identity cùng với thông tin xác thực project và người dùng admin vào trong các biến môi trường:" - -msgid "MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "METADATA_SECRET" -msgstr "METADATA_SECRET" - -msgid "MYSQL_PASSWORD" -msgstr "MYSQL_PASSWORD" - -msgid "Management on 10.0.0.0/24 with gateway 10.0.0.1" -msgstr "Quản lý trên 10.0.0.0/24 với gateway là 10.0.0.1" - -msgid "Manually install python-argparse" -msgstr "Cài đặt bằng tay python-argparse" - -msgid "" -"Many of the OpenStack services need to be configured to access a database. " -"These are configured through a DSN (Database Source Name) directive as " -"follows:" -msgstr "" -"Nhiều dịch vụ của OpenStack cần được cấu hình để truy cập vào cơ sở dữ liệu " -"và được cấu hình qua DSN (Database Source Name) với chỉ lệnh như sau:" - -msgid "" -"Many users build their test environments on virtual machines (VMs). The primary benefits of " -"VMs include the following:" -msgstr "" -"Nhiều người dùng xây dựng môi trường thử nghiệm của họ trên các máy ảo (VMs). Lợi ích chính khi sử " -"dụng các máy ảo bao gồm:" - -msgid "Message queue" -msgstr "Hàng đợi message" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Hardware " -"requirements" -msgstr "" -"Ví dụ về kiến trúc tối thiểu sử dụng OpenStack Networking (neutron)Yêu cầu " -"phần cứng" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Network " -"layout" -msgstr "" -"Ví dụ về kiến trúc tối thiểu sử dụng sơ đồ mạng OpenStack Networking " -"(neutron) " - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Service " -"layout" -msgstr "" -"Ví dụ về kiến trúc mạng tối thiểu sử dụng OpenStack Networking (neutron)Cách " -"bố trí dịch vụ" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Hardware " -"requirements" -msgstr "" -"Ví dụ về kiến trúc tối thiểu sử dụng legacy networking (nova-network)Yêu cầu " -"phần cứng" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Network " -"layout" -msgstr "" -"Ví dụ về kiến trúc tối thiểu sử dụng legacy networking (nova-network)Cách bố " -"trí hệ thống mạng" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Service " -"layout" -msgstr "" -"Ví dụ về kiến trúc mạng tối thiểu sử dụng legacy networking (nova-" -"network)Cách bố trí dịch vụ" - -msgid "" -"Most OpenStack services use an SQL database to store information. The " -"database typically runs on the controller node. The procedures in this guide " -"use MariaDB or MySQL " -"depending on the distribution. OpenStack services also support other SQL " -"databases including PostgreSQL." -msgstr "" -"Phần lớn các dịch vụ OpenStack sử dụng một cơ sở dữ liệu SQL để lưu trữ " -"thông tin. Cơ sở dữ liệu thường được chạy trên node điều khiển. Các quy " -"trình trong bài hướng dẫn này sử dụng MariaDB " -"hoặc MySQL tùy thuộc vào từng triển khai. Các " -"dịch vụ OpenStack cũng hỗ trợ các cơ sở dữ liệu SQL khác trong đó có PostgreSQL. " - -msgid "" -"Most cloud images support public key authentication " -"rather than conventional user name/password authentication. Before launching " -"an instance, you must generate a public/private key pair using " -" and add the public key to your OpenStack environment." -msgstr "" -"Đa phần các image máy ảo vật lý hỗ trợ xác thực public key hơn là sự thuận tiện về tên người dùng/mật khẩu trong việc xác " -"thực. Trước khi chạy một instance, bạn cần tạo ra một cặp khóa công khai/" -"riêng sử dụng và thêm một khóa công khai cho môi trường " -"OpenStack của bạn." - -msgid "" -"Most cloud images support public key authentication " -"rather than conventional user name/password authentication. Before launching " -"an instance, you must generate a public/private key pair." -msgstr "" -"Phần lớn các cloud image hỗ trợ xác thực sử dụng khóa public hơn là xác thực bằng tên người dùng/mật khẩu. Trước khi chạy một " -"instance, bạn phải sinh ra một cặp khóa public/private." - -msgid "Mount the devices:" -msgstr "Mount các thiết bị:" - -msgid "NETWORK_CIDR" -msgstr "NETWORK_CIDR" - -msgid "NEUTRON_DBPASS" -msgstr "NEUTRON_DBPASS" - -msgid "NEUTRON_PASS" -msgstr "NEUTRON_PASS" - -msgid "NOVA_DBPASS" -msgstr "NOVA_DBPASS" - -msgid "NOVA_PASS" -msgstr "NOVA_PASS" - -msgid "NTP_SERVER" -msgstr "NTP_SERVER" - -msgid "Name" -msgstr "Tên" - -msgid "Network Node: 1 processor, 512 MB memory, and 5 GB storage" -msgstr "Node mạng: 1 bộ xử lý, 512 MB bộ nhớ và 5 GB lưu trữ" - -msgid "Network Time Protocol (NTP)" -msgstr "Giao thức Thời gian Mạng (NTP)" - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest number " -"and the second interface as the interface with the highest number." -msgstr "" -"Tên của giao diện mạng khác nhau tùy theo từng triển khai. Thường thì các " -"giao diện bắt đầu bằng \"eth\" và theo sau bởi một chuỗi số. Để bao gồm hết " -"tất cả các biến thể, bài hướng dẫn này đơn giản gọi giao diện mạng đầu tiên " -"là giao diện mạng có số nhỏ nhất và giao diện mạng thứ hai là giao diện có " -"số lớn nhất." - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest " -"number, the second interface as the interface with the middle number, and " -"the third interface as the interface with the highest number." -msgstr "" -"Giao diện mạng có nhiều tên khác nhau tuỳ vào bản phân phối. Thường thì các " -"giao diện sẽ dùng \"eth\" kèm theo một số thứ tự. Để bao quát hết các biến " -"thể, hướng dẫn này đơn giản coi giao diện đầu tiên là giao diện có số thứ tự " -"nhỏ nhất, giao diện thứ hai có thứ tự ở giữa và giao diện thứ ba có thứ tự " -"cao nhất." - -msgid "Network mask: 255.255.255.0 (or /24)" -msgstr "Mặt nạ mạng: 255.255.255.0 (hoặc /24)" - -msgid "Network node" -msgstr "Node mạng" - -msgid "Networking" -msgstr "Mạng" - -msgid "" -"Networking also supports security groups. Security groups enable administrators to define firewall rules in " -"groups. A VM can belong to one or more security groups, and Networking " -"applies the rules in those security groups to block or unblock ports, port " -"ranges, or traffic types for that VM." -msgstr "" -"Networking cũng hỗ trợ các nhóm bảo mật . Các nhóm bảo mật cho phép các quản trị viên định nghĩa các quy " -"tắc tường lửa. Một máy ảo có thể thuộc một hoặc nhiều nhóm bảo mật, và " -"Networking áp dụng các quy tắc trong các nhóm bảo mật đó để chặn hoặc mở các " -"port, các dải port hoặc các dạng lưu thông dữ liệu cho máy ảo đó." - -msgid "Networking concepts" -msgstr "Các khái niệm về Networking" - -msgid "" -"Next specify admin_user, admin_password and admin_tenant_name. These parameters must " -"specify a keystone user which has the admin role in the " -"given tenant. These credentials allow sahara to authenticate and authorize " -"its users." -msgstr "" -"Tiếp theo, chỉ rõ admin_user, admin_passwordadmin_tenant_name. Các tham số này phải định " -"rõ một người dùng keystone có vai trò admin trong tenant " -"cho trước. Các thông tin xác thực này cho phép sahara xác thực và trao quyền " -"các người dùng của nó." - -msgid "Next steps" -msgstr "Các bước tiếp theo" - -msgid "" -"Numerous archive.gplhost.com mirrors are available around the world. All are " -"available with both FTP and HTTP protocols (you should use the closest " -"mirror). The list of mirrors is available at http://archive.gplhost.com/readme." -"mirrors." -msgstr "" -"Rất nhiều archive.gplhost.com mirror hiện có trên khắp thế giới. Tất cả đều " -"hiện có với cả hai giao thức FTP và HTTP (bạn nên sử dụng mirror gần mình " -"nhất). Danh sách các mirror có ở http://archive.gplhost.com/readme.mirrors." - -msgid "Object ring" -msgstr "Object ring" - -msgid "" -"Obtain a Virtual Network Computing (VNC) session URL " -"for your instance and access it from a web browser:" -msgstr "" -"Nhận về một URL phiên làm việc của Virtual Network Computing " -"(VNC) cho instance của bạn và truy cập nó từ một trình duyệt " -"web: " - -msgid "" -"Obtain the /etc/swift/swift.conf file from the Object " -"Storage source repository:" -msgstr "" -"Có được thư mục /etc/swift/swift.conf từ kho lưu trữ " -"nguồn của Object Storage:" - -msgid "" -"Obtain the proxy service configuration file from the Object Storage source " -"repository:" -msgstr "" -"Nhận về file cấu hình dịch vụ proxy từ repository gốc của Object Storage:" - -msgid "" -"On RHEL and CentOS, configure SELinux to permit the web server to connect to " -"OpenStack services:" -msgstr "" -"Trên RHEL và CentOS, cấu hình SELinux để cho phép web server kết nối với các " -"dịch vụ OpenStack:" - -msgid "" -"On RHEL and CentOS, enable the EPEL repository:" -msgstr "" -"Trên RHEL và CentOS, bật kho dữ liệu EPEL:" - -msgid "On SLES 12:" -msgstr "Trên SLES 12:" - -msgid "On SLES:" -msgstr "Trên SLES:" - -msgid "On all nodes, ensure proper ownership of the configuration directory:" -msgstr "" -"Trên tất cả các node, đảm bảo quyền sở hữu phù hợp của thư mục cấu hình:" - -msgid "On all nodes, install the Debian Wheezy backport repository Juno:" -msgstr "Trên tất cả các node, cài đặt Debian Wheezy backport repository Juno:" - -msgid "On openSUSE 13.2:" -msgstr "Trên openSUSE 13.2:" - -msgid "On openSUSE:" -msgstr "Trên openSUSE:" - -msgid "" -"On the controller node, edit the /etc/nova/" -"nova.conf file and complete the following action:" -msgstr "" -"Trên node điều khiển, sửa file /etc/nova/nova." -"conf và hoàn thành công việc sau:" - -msgid "" -"On the controller node, restart the Compute " -"API service:" -msgstr "" -"Trên node điều khiển, khởi động lại dịch vụ Compute " -"API: " - -msgid "" -"On the controller node and any other nodes running the proxy service, " -"restart the Object Storage proxy service including its dependencies:" -msgstr "" -"Trên node điều khiển và tất cả các node khác có chạy dịch vụ proxy, khởi " -"động lại dịch vụ proxy của Object Storage bao gồm cả các thành phần phụ " -"thuộc của nó:" - -msgid "" -"On the controller node and any other nodes running the proxy service, start " -"the Object Storage proxy service including its dependencies and configure " -"them to start when the system boots:" -msgstr "" -"Trên node điều khiển và bất kì node nào khác chạy dịch vụ proxy, khởi động " -"dịch vụ proxy của Object Storage bao gồm các thành phần phụ thuộc của nó và " -"cấu hình cho chúng khởi động cùng hệ thống:" - -msgid "" -"On the storage nodes, start the Object Storage services and configure them " -"to start when the system boots:" -msgstr "" -"Trên các node lưu trữ, khởi động các dịch vụ Object Storage và cấu hình cho " -"chúng khởi động cùng với hệ thống:" - -msgid "On the storage nodes, start the Object Storage services:" -msgstr "Trên các node lưu trữ, khởi động các dịch vụ Object Storage:" - -msgid "" -"Once you configure the ML2 plug-in, changing values in the " -"type_drivers option can lead to database inconsistency." -msgstr "" -"Sau khi bạn cấu hình plug-in ML2, thay đổi các giá trị trong tùy chọn có thể " -"dẫn đến sự không nhất quán trong cơ sở dữ liệu." - -msgid "" -"One physical server can support multiple nodes, each with almost any number " -"of network interfaces." -msgstr "" -"Một máy chủ vật lý có thể hỗ trợ nhiều node, với số lượng giao diện mạng tùy " -"thích trên mỗi node." - -msgid "" -"Only instances can access Block Storage volumes. However, the underlying " -"operating system manages the devices associated with the volumes. By " -"default, the LVM volume scanning tool scans the /dev " -"directory for block storage devices that contain volumes. If projects use " -"LVM on their volumes, the scanning tool detects these volumes and attempts " -"to cache them which can cause a variety of problems with both the underlying " -"operating system and project volumes. You must reconfigure LVM to scan only " -"the devices that contain the cinder-volume volume group. " -"Edit the /etc/lvm/lvm.conf file and complete the " -"following actions:" -msgstr "" -"Chỉ các instance mới có thể truy cập vào các ổ lưu trữ Block Storage. Tuy " -"nhiên hệ điều hành cơ sở quản lý các thiết bị liên kết với các ổ lưu trữ. " -"Mặc định, công cụ quét ổ lưu trữ LVM quét thư mục /dev " -"để tìm kiếm các thiết bị block storage có chứa các ổ lưu trữ. Nếu các dự án " -"sử dụng LVM trên các ổ lưu trữ, công cụ quét sẽ tìm ra các ổ lưu trữ và cố " -"gắng đưa chúng vào bộ nhớ cache, điều này có thể gây ra nhiều lỗi với cả hệ " -"điều hành cơ sở và các ổ lưu trữ dự án. Bạn phải cấu hình lại LVM để cho nó " -"chỉ quét các thiết bị có chứa nhóm ổ lưu trữ cinder-volume. Sửa file /etc/lvm/lvm.conf và hoàn thành các " -"công việc sau: " - -msgid "OpenStack" -msgstr "OpenStack" - -msgid "OpenStack Foundation" -msgstr "OpenStack Foundation" - -msgid "OpenStack Installation Guide" -msgstr "Hướng dẫn cài đặt OpenStack" - -msgid "" -"OpenStack Installation Guide for Red Hat " -"Enterprise Linux 7, CentOS 7, and Fedora 21Ubuntu 14.04Debian 7openSUSE 13.2 and SUSE Linux Enterprise Server 12" -msgstr "" -"Hướng dẫn Cài đặt OpenStack cho Red Hat " -"Enterprise Linux 7, CentOS 7, và Fedora 21Ubuntu 14.04Debian 7openSUSE 13.2 và SUSE Linux Enterprise Server 12" - -msgid "" -"OpenStack Installation Guide for " -msgstr "" -"Hướng dẫn Cài đặt OpenStack cho " - -msgid "OpenStack Networking (neutron)" -msgstr "OpenStack Networking (neutron)" - -msgid "" -"OpenStack Networking (neutron) manages all networking facets for the Virtual " -"Networking Infrastructure (VNI) and the access layer aspects of the Physical " -"Networking Infrastructure (PNI) in your OpenStack environment. OpenStack " -"Networking enables tenants to create advanced virtual network topologies " -"including services such as firewalls, load balancers, and virtual private networks (VPNs)." -msgstr "" -"OpenStack Networing (neutron) quản lý tất cả các khía cạnh về mạng cho Cơ sở " -"hạ tầng Hệ thống mạng Ảo (VNI) và quản lý các mặt liên quan đến tầng truy " -"cập của Cơ sở hạ tầng Hệ thống mạng Vật lý (PNI) trong môi trường OpenStack " -"của bạn. OpenStack Networking cho phép các tenant khởi tạo các mô hình hệ " -"thống mạng ảo nâng cao bao gồm các dịch vụ như firewalls, cân " -"bằng tải, and hệ thống mạng riêng ảo (VPN)." - -msgid "OpenStack ceilometer daemons" -msgstr "các daemon ceilometer của OpenStack" - -msgid "OpenStack cinder daemons" -msgstr "các daemon cinder của OpenStack" - -msgid "" -"OpenStack generates IDs dynamically, so you will see different values in the " -"example command output." -msgstr "" -"OpenStack tạo ra các ID động, vì vậy bạn sẽ thấy các giá trị khác nhau trong " -"kết quả của lệnh ví dụ." - -msgid "OpenStack glance daemons" -msgstr "các daemon glance của OpenStack" - -msgid "OpenStack heat daemons" -msgstr "các daemon heat của OpenStack" - -msgid "" -"OpenStack is highly configurable to meet different needs with various " -"compute, networking, and storage options. This guide enables you to choose " -"your own OpenStack adventure using a combination of core and optional " -"services. This guide uses the following example architectures:" -msgstr "" -"OpenStack có khả năng tùy chỉnh cấu hình cao để đáp ứng những như cầu khác " -"nhau của nhiều tùy chọn tính toán, lưu trữ, networking. Bài hướng dẫn này " -"cho phép bạn chọn lựa hướng đi OpenStack riêng của mình bằng cách sử dụng " -"kết hợp các dịch vụ chính và phụ theo các cách khác nhau. Bài hướng dẫn này " -"sử dụng các kiến trúc mẫu sau:" - -msgid "OpenStack keystone daemons" -msgstr "các daemon keystone của OpenStack" - -msgid "OpenStack neutron daemons" -msgstr "các daemon neutron của OpenStack" - -msgid "OpenStack nova daemons" -msgstr "các daemon nova của OpenStack" - -msgid "OpenStack packages" -msgstr "Các gói OpenStack" - -msgid "" -"OpenStack provides an Infrastructure-as-a-Service (IaaS) solution through a variety of complemental services. Each " -"service offers an application programming interface (API) that facilitates this integration. The following table provides " -"a list of OpenStack services:" -msgstr "" -"OpenStack cung cấp giải pháp “Cơ sở hạ tầng như một dịch " -"vụ” (IaaS) thông qua một loạt các dịch vụ bổ sung. " -"Mỗi dịch vụ cung cấp một giao diện lập trình ứng dụng (API) tạo điều kiện cho sự tích hợp này. Bảng sau cun cấp danh sách " -"các dịch vụ của OpenStack:" - -msgid "" -"OpenStack reserves certain user IDs to run specific services and own " -"specific files. These user IDs are set up according to the distribution " -"packages. The following table gives an overview." -msgstr "" -"OpenStack dành riêng một số ID người dùng để chạy một số dịch vụ và sở hữu " -"một số file nhất định. Các ID người dùng này được thiết lập theo các gói " -"phân phối. Bảng sau cho bạn một cái nhìn tổng quan." - -msgid "" -"OpenStack services support various security methods including password, " -"policy, and encryption. Additionally, supporting services including the " -"database server and message broker support at least password security." -msgstr "" -"Các dịch vụ OpenStack hỗ trợ nhiều phương thức bảo mật khác nhau bao gồm mật " -"khẩu, chính sách và mã hóa. Thêm vào đó, các dịch vụ bổ trợ như máy chủ cơ " -"sở dữ liệu và kênh truyền tin đều hỗ trợ ít nhất bảo mật bằng mật khẩu." - -msgid "OpenStack swift daemons" -msgstr "các daemon swift của OpenStack" - -msgid "OpenStack trove daemons" -msgstr "các daemon trove của OpenStack" - -msgid "" -"OpenStack uses a message queue to coordinate " -"operations and status information among services. The message queue service " -"typically runs on the controller node. OpenStack supports several message " -"queue services including RabbitMQ, Qpid, " -"and ZeroMQ. However, most " -"distributions that package OpenStack support a particular message queue " -"service. This guide implements the RabbitMQ message queue service because " -"most distributions support it. If you prefer to implement a different " -"message queue service, consult the documentation associated with it." -msgstr "" -"OpenStack sử dụng một hàng đợi tin để điều phối quá " -"trình và thông tin trạng thái giữa các dịch vụ. Dịch vụ hàng đợi tin thường " -"chạy trên node điều khiển. OpenStack hỗ trợ một vài dịch vụ hàng đợi tin như " -"RabbitMQ, Qpid, và ZeroMQ. Tuy nhiên, phần lớn các triển khai đóng gói " -"OpenStack sẽ hỗ trợ một dịch vụ hàng đợi tin cụ thể. Bài hướng dẫn này cài " -"đặt dịch vụ hàng đợi tin RabbitMQ bởi vì phần lớn các triển khai hỗ trợ nó. " -"Nếu bạn mong muốn cài đặt một dịch vụ hàng đợi tin khác, tham khảo tài liệu " -"đi kèm với nó." - -msgid "" -"OpenStack uses three API endpoint variants for each service: admin, " -"internal, and public. The admin API endpoint allows modifying users and " -"tenants by default, while the public and internal APIs do not. In a " -"production environment, the variants might reside on separate networks that " -"service different types of users for security reasons. For instance, the " -"public API network might be reachable from outside the cloud for management " -"tools, the admin API network might be protected, while the internal API " -"network is connected to each host. Also, OpenStack supports multiple regions " -"for scalability. For simplicity, this guide uses the management network for " -"all endpoint variations and the default RegionOne region." -msgstr "" -"OpenStack sử dụng ba biến thể của API endpoint cho từng dịch vụ: admin, " -"internal và public. Admin API endpoint mặc định cho phép việc chỉnh sửa các " -"người dùng và tenant trong khi các public và internal API thì không. Trong " -"môi trường thực tế, các biến thể này có thể nằm trên các hệ thống mạng riêng " -"biệt phục vụ cho các loại người dùng khác nhau vì lý do bảo mật. Ví dụ, hệ " -"thống mạng public API có thể được truy cập từ bên ngoài cloud bởi các công " -"cụ quản lý, hê thống mạng admin API có thể được bảo vệ trong khi hệ thống " -"mạng internal API được kết nối đến các máy chủ vật lý. Hơn nữa, OpenStack hỗ " -"trợ đa vùng cho khả năng nâng cấp. Để đơn giản hóa vấn đề, phần cấu hình " -"chúng ta đang làm sử dụng hệ thống mạng quản lý cho tất cả các biến thể của " -"endpoint và sử dụng vùng RegionOne mặc định." - -msgid "Optionally, configure the time zone:" -msgstr "Không bắt buộc, cấu hình múi giờ:" - -msgid "" -"Optionally, the Block Storage node runs a Telemetry agent to collect meters. " -"Also, it can contain a second network interface on a separate storage " -"network to improve performance of storage services." -msgstr "" -"Ngoài ra node Block Storage còn chạy các Telemetry agent để thu thập các " -"thước đo. Nó còn có thể có một giao diện mạng thứ hai trên một hệ thống mạng " -"lưu trữ riêng biệt để cải thiện hiệu suất của các dịch vụ lưu trữ." - -msgid "" -"Optionally, the compute node runs a Telemetry agent to collect meters. Also, " -"it can contain a third network interface on a separate storage network to " -"improve performance of storage services." -msgstr "" -"Ngoài ra node tính toán còn chạy các Telemetry agent để thu thập các thước " -"đo. Nó còn có thể có một giao diện mạng thứ ba trên một hệ thống mạng lưu " -"trữ riêng biệt để cải thiện hiệu suất của các dịch vụ lưu trữ." - -msgid "" -"Optionally, the controller node runs portions of Block Storage, Object " -"Storage, Orchestration, Telemetry, Database, and Data processing services. " -"These components provide additional features for your environment." -msgstr "" -"Ngoài ra, node điều khiển còn chạy các phần của các dịch vụ Block Storage, " -"Object Storage, Orchestration, Telemetry, Database và xử lý Dữ liệu. Các " -"thành phần này cung cấp các thêm các tính năng cho môi trường của bạn." - -msgid "" -"Optionally, these nodes can contain a second network interface on a separate " -"storage network to improve performance of storage services." -msgstr "" -"Ngoài ra, các node này còn có thể chứa một giao diện mạng thứ hai nằm trên " -"một mạng lưu trữ riêng biệt để cải thiện hiệu suất của các dịch vụ lưu trữ." - -msgid "Other nodes" -msgstr "Các nút khác" - -msgid "Overview" -msgstr "Tổng quan" - -msgid "PACKAGE-NAME" -msgstr "PACKAGE-NAME" - -msgid "PASSWORD" -msgstr "PASSWORD" - -msgid "Perform these commands on the controller node." -msgstr "Thực hiện các lệnh sau trên node điều khiển." - -msgid "Perform these steps on each storage node." -msgstr "Thực hiện các bước sau trên mỗi nút lưu trữ." - -msgid "" -"Perform these steps on the controller and any other nodes that run the " -"Object Storage proxy service." -msgstr "" -"Thực hiện các bước sau trên controller và bất cứ node nào chạy dịch vụ " -"Object Storage proxy." - -msgid "Perform these steps on the controller node." -msgstr "Thực hiện các bước sau trên node điều khiển." - -msgid "Permit ICMP (ping):" -msgstr "Cho phép ICMP (ping):" - -msgid "" -"Permit configuration, write, and read access for the openstack user:" -msgstr "" -"Cho phép người dùng openstack có quyền truy cập cấu hình, " -"viết và đọc:" - -msgid "Permit secure shell (SSH) access:" -msgstr "Cho phép truy cập shell bảo mật (SSH):" - -msgid "Populate the Block Storage database:" -msgstr "Truyền thông tin vào cơ sở dữ liệu Block Storage:" - -msgid "Populate the Compute database:" -msgstr "Truyền thông tin vào cơ sở dữ liệu Compute" - -msgid "Populate the Identity service database:" -msgstr "Điền dữ liệu vào cơ sở dữ liệu dịch vụ Identity:" - -msgid "Populate the Image service database:" -msgstr "Truyền thông tin vào cơ sở dữ liệu dịch vụ Image:" - -msgid "Populate the Orchestration database:" -msgstr "Truyền thông tin vào cơ sở dữ liệu Orchestration:" - -msgid "Populate the database:" -msgstr "Truyền thông tin vào cơ sở dữ liệu:" - -msgid "Pre-seed debconf prompts" -msgstr "Sắp xếp trước các nhắc nhở debconf" - -msgid "Prepare the Database service:" -msgstr "Chuẩn bị dịch vụ Database:" - -msgid "Prepare the trove admin database:" -msgstr "Chuẩn bị cơ sở dữ liệu admin trove" - -msgid "Prerequisites" -msgstr "Điều kiện tiên quyết" - -msgid "" -"Proceed to network configuration for the example OpenStack Networking (neutron) or legacy networking (nova-network) " -"architecture." -msgstr "" -"Tiếp tục đến phần cấu hình hệ thống mạng cho kiến trúc mẫu sử dụng OpenStack Networking (neutron) " -"hoặc legacy networking (nova-" -"network)." - -msgid "" -"Provide users with a public IP address, a username, and a password so they " -"can access the dashboard through a web browser. In case of any SSL " -"certificate connection problems, point the server IP address to a domain " -"name, and give users access." -msgstr "" -"Cung cấp cho người dùng một địa chỉ IP public, một tên người dùng và một mật " -"khẩu để họ có thể truy cập dashboard thông qua trình duyệt web. Trong trường " -"hợp xảy ra lỗi kết nối chứng chỉ SSL, trỏ địa chỉ IP của máy chú đến một tên " -"miền và cho phép người dùng truy cập." - -msgid "RABBIT_PASS" -msgstr "RABBIT_PASS" - -msgid "" -"RHEL and CentOS enable SELinux by default. Install " -"the openstack-selinux package to automatically manage " -"security policies for OpenStack services:" -msgstr "" -"RHEL và CentOS mặc định bật SELinux. Cài đặt gói " -"openstack-selinux để tự động quản lý các chính sách bảo " -"mật cho các dịch vụ OpenStack:" - -msgid "RabbitMQ credentials parameters" -msgstr "Các tham số chứng thực RabbitMQ" - -msgid "Rebalance the ring:" -msgstr "Cân bằng lại ring:" - -msgid "Reboot the system to activate the changes." -msgstr "Khởi động lại hệ thống để kích hoạt các thay đổi." - -msgid "" -"Reconfiguring network interfaces will interrupt network connectivity. We " -"recommend using a local terminal session for these procedures." -msgstr "" -"Việc cấu hình lại các giao diện mạng sẽ làm gián đoạn kết nối mạng. Chúng " -"tôi khuyên bạn nên sử dụng phiên làm việc trên thiết bị đầu cuối cục bộ cho " -"các thao tác này." - -msgid "Red Hat Enterprise Linux, CentOS, and Fedora" -msgstr "Red Hat Enterprise Linux, CentOS và Fedora" - -msgid "Register API endpoints" -msgstr "Đăng ký các API endpoint" - -msgid "" -"Regular (non-admin) tasks should use an unprivileged project and user. As an " -"example, this guide creates the demo project and user." -msgstr "" -"Các tác vụ thông thường (không phải của admin) nên sử dụng project và người " -"dùng không có quyền ưu tiên. Ví dụ, bài hướng dẫn này khởi tạo project và " -"người dùng demo. " - -msgid "Reload the web server configuration:" -msgstr "Nạp lại cấu hình web server:" - -msgid "" -"Remove the /var/lib/ntp/ntp.conf.dhcp file if it exists." -msgstr "" -"Xóa bỏ thư mục /var/lib/ntp/ntp.conf.dhcp nếu nó đã tồn " -"tại." - -msgid "" -"Remove the previously downloaded image file /tmp/cirros.img:" -msgstr "" -"Xóa tập tin image /tmp/cirros.img đã tải về trước đó:" - -msgid "Remove the temporary local directory and source image:" -msgstr "Loại bỏ thư mục cục bộ tạm thời và image nguồn:" - -msgid "" -"Repeat this command for each storage device on each storage node. In the " -"example architecture, use the command in four variations:" -msgstr "" -"Lặp lại câu lệnh này cho từng thiết bị lưu trữ trên từng node lưu trữ. Trong " -"kiến trúc mẫu, sử dụng câu lệnh này theo bốn biến thể:" - -msgid "" -"Replace ADMIN_PASS with the password you chose for the " -"admin user in the Identity service." -msgstr "" -"Thay ADMIN_PASS bằng mật khẩu bạn đã chọn cho người dùng " -"admin trong dịch vụ Identity." - -msgid "" -"Replace DEMO_PASS with the password you chose for the " -"demo user in the Identity service." -msgstr "" -"Thay DEMO_PASS bằng mật khẩu bạn đã chọn người dùng " -"demo trong dịch vụ Identity." - -msgid "" -"Replace NOVA_PASS with the password you chose for the " -"nova user in the Identity service." -msgstr "" -"Thay NOVA_PASS bằng mật khẩu bạn đã chọn cho người dùng " -"nova trong dịch vụ Identity." - -msgid "" -"Replace ADMIN_TOKEN with the authentication token " -"that you generated in . For example:" -msgstr "" -"Thay ADMIN_TOKEN bằng token xác thực bạn đã sinh " -"ra trong . Ví dụ:" - -msgid "" -"Replace ADMIN_TOKEN with the random value that " -"you generated in a previous step." -msgstr "" -"Thay thế ADMIN_TOKEN bằng giá trị ngẫu nhiên mà " -"bạn đã tạo ra ở bước trước đó." - -msgid "" -"Replace CEILOMETER_DBPASS with a suitable " -"password." -msgstr "" -"Thay CEILOMETER_DBPASS bằng một mật khẩu thích " -"hợp." - -msgid "" -"Replace CEILOMETER_DBPASS with the password you " -"chose for the Telemetry module database. You must escape special characters " -"such as ':', '/', '+', and '@' in the connection string in accordance with " -"RFC2396." -msgstr "" -"Thay CEILOMETER_DBPASS bằng mật khẩu bạn đã chọn " -"cho cơ sở dữ liệu của module Telemetry. Bạn phải tránh việc sử dụng các ký " -"tự đặc biệt như ':', '/', '+', và '@' trong chuỗi kết nối theo RFC2396." - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the ceilometer user in the Identity service." -msgstr "" -"Thay CEILOMETER_PASS bằng mật khẩu bạn đã chọn " -"cho người dùng ceilometer trong dịch vụ Identity." - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the Telemetry module database." -msgstr "" -"Thay thế CEILOMETER_PASS bằng mật khẩu bạn đã " -"chọn cho cơ sở dữ liệu module Telemetry." - -msgid "" -"Replace CINDER_DBPASS with a suitable password." -msgstr "" -"Thay đổi CINDER_DBPASS với một mật khẩu thích " -"hợp." - -msgid "" -"Replace CINDER_DBPASS with the password you chose " -"for the Block Storage database." -msgstr "" -"Thay CINDER_DBPASS bằng mật khẩu bạn đã chọn cho " -"cơ sở dữ liệu Block Storage." - -msgid "" -"Replace CINDER_PASS with the password you chose " -"for the cinder user in the Identity service." -msgstr "" -"Thay CINDER_PASS bằng mật khẩu bạn đã chọn cho " -"người dùng cinder trong dịch vụ Identity." - -msgid "" -"Replace DEMO_NET_ID with the ID of the " -"demo-net tenant network." -msgstr "" -"Thay thế DEMO_NET_ID bởi ID của mạng " -"demo-net tenant." - -msgid "" -"Replace FILE with the name of a local file to " -"upload to the demo-container1 container." -msgstr "" -"Thay FILE bằng tên của tập tin nội vùng sẽ được " -"tải lên container demo-container1." - -msgid "" -"Replace FILE with the name of the file uploaded " -"to the demo-container1 container." -msgstr "" -"Thay FILE bằng tên của tập tin được tải lên " -"container demo-container1." - -msgid "" -"Replace FLOATING_IP_START and " -"FLOATING_IP_END with the first and last IP " -"addresses of the range that you want to allocate for floating IP addresses. " -"Replace EXTERNAL_NETWORK_CIDR with the subnet " -"associated with the physical network. Replace " -"EXTERNAL_NETWORK_GATEWAY with the gateway " -"associated with the physical network, typically the \".1\" IP address. You " -"should disable DHCP on this subnet because instances " -"do not connect directly to the external network and floating IP addresses " -"require manual assignment." -msgstr "" -"Thay FLOATING_IP_START và " -"FLOATING_IP_END bằng địa chỉ IP đầu và cuối của " -"chuỗi IP động mà bạn muốn sử dụng. Thay EXTERNAL_NETWORK_CIDR bằng subnet của mạng vật lý. Thay " -"EXTERNAL_NETWORK_GATEWAY bằng gateway của mạng " -"vật lý, thường là địa chỉ IP “.1”.Bạn nên tắt dịch vụ DHCP trên subnet này bởi vì các instance không kết nối trực tiếp tới " -"hệ thống mạng ngoại vùng và các địa chỉ IP động yêu cầu phải được gán bằng " -"tay." - -msgid "" -"Replace GLANCE_DBPASS with a suitable password." -msgstr "" -"Thay đổi GLANCE_DBPASS với một mật khẩu thích hợp." - -msgid "" -"Replace GLANCE_DBPASS with the password you chose " -"for the Image service database." -msgstr "" -"Thay GLANCE_DBPASS bằng mật khẩu bạn đã chọn cơ " -"sở dữ liệu của dịch vụ Image." - -msgid "" -"Replace GLANCE_PASS with the password you chose " -"for the glance user in the Identity service." -msgstr "" -"Thay GLANCE_PASS bằng mật khẩu bạn đã chọn cho " -"người dùng glance trong dịch vụ Identity." - -msgid "" -"Replace HASH_PATH_PREFIX and " -"HASH_PATH_SUFFIX with unique values." -msgstr "" -"Thay HASH_PATH_PREFIX và " -"HASH_PATH_SUFFIX bằng các giá trị độc nhất." - -msgid "" -"Replace HEAT_DBPASS with a suitable password." -msgstr "" -"Thay HEAT_DBPASS bằng một mật khẩu thích hợp." - -msgid "" -"Replace HEAT_DBPASS with the password you chose " -"for the Orchestration database." -msgstr "" -"Thay HEAT_DBPASS bằng mật khẩu bạn đã chọn cho cơ " -"sở dữ liệu của Orchestration." - -msgid "" -"Replace HEAT_DOMAIN_PASS with a suitable password." -msgstr "" -"Thay HEAT_DOMAIN_PASS bằng một mật khẩu thích hợp." - -msgid "" -"Replace HEAT_DOMAIN_PASS with the password you " -"chose for the admin user of the heat user domain in the " -"Identity service." -msgstr "" -"Thay HEAT_DOMAIN_PASS bằng mật khẩu bạn đã chọn " -"cho người dùng admin của miền người dùng heat trong dịch vụ Identity." - -msgid "" -"Replace HEAT_PASS with the password you chose for " -"the heat user in the Identity service." -msgstr "" -"Thay HEAT_PASS bằng mật khẩu bạn đã chọn cho " -"người dùng heat trong dịch vụ Identity." - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth1 or ens224." -msgstr "" -"Thay INTERFACE_NAME bằng tên của giao diện thật. " -"Ví dụ, eth1 hoặc ens224." - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth2 or ens256." -msgstr "" -"Thay INTERFACE_NAME bằng tên thật của giao diện. " -"Ví dụ, eth2 hoặc ens256." - -msgid "" -"Replace KEYSTONE_DBPASS with a suitable password." -msgstr "" -"Thay thế KEYSTONE_DBPASS bằng một mật khẩu phù " -"hợp." - -msgid "" -"Replace KEYSTONE_DBPASS with the password you " -"chose for the database." -msgstr "" -"Thay thế KEYSTONE_DBPASS bằng mật khẩu mà bạn đã " -"chọn cho cơ sỡ dữ liệu." - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your compute node, " -"typically 10.0.0.31 for the first node in the example architecture." -msgstr "" -"Thay thế MANAGEMENT_INTERFACE_IP_ADDRESS với một " -"địa chỉ IP trong của lý cạc mạng của nút compute, thường thì 10.0.0.31 sẽ " -"dành cho nút đầu tiên trong ví dụ kiến trúc." - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your storage node, " -"typically 10.0.0.41 for the first node in the example architecture." -msgstr "" -"Thay MANAGEMENT_INTERFACE_IP_ADDRESS bằng địa chỉ " -"IP của giao diện mạng quản lý trên node storage của bạn, thường là 10.0.0.41 " -"cho node đầu tiên trong kiến trúc mẫu." - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network on the storage node." -msgstr "" -"Thay thế GIAO_DIỆN_QUẢN_LÝ_ĐỊA_CHỈ_IP với địa chỉ " -"IP của mạng quản lý trên nút lưu trữ." - -msgid "" -"Replace METADATA_SECRET with a suitable secret " -"for the metadata proxy." -msgstr "" -"Thay METADATA_SECRET bằng một bí mật thích hợp " -"cho metadata proxy." - -msgid "" -"Replace METADATA_SECRET with the secret you chose " -"for the metadata proxy." -msgstr "" -"Thay METADATA_SECRET bằng bí mật bạn đã chọn cho " -"metadata proxy." - -msgid "" -"Replace NETWORK_CIDR with the subnet associated " -"with the physical network." -msgstr "" -"Thay NETWORK_CIDR bằng subnet của hệ thống mạng " -"vật lý." - -msgid "" -"Replace NEUTRON_DBPASS with a suitable password." -msgstr "" -"Thay NEUTRON_DBPASS bằng một mật khẩu thích hợp." - -msgid "" -"Replace NEUTRON_DBPASS with the password you " -"chose for the database." -msgstr "" -"Thay NEUTRON_DBPASS bằng mật khẩu bạn đã chọn cho " -"cơ sở dữ liệu." - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"for the neutron user in the Identity service." -msgstr "" -"Thay NEUTRON_PASS bằng mật khẩu đã chọn cho người " -"dùng neutron trong Identity service." - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"or the neutron user in the Identity service." -msgstr "" -"Thay NEUTRON_PASS bằng mật khẩu bạn đã chọn cho " -"người dùng neutron trong dịch vụ Identity." - -msgid "" -"Replace NOVA_DBPASS with a suitable password." -msgstr "" -"Thay NOVA_DBPASS bằng một mật khẩu thích hợp." - -msgid "" -"Replace NOVA_DBPASS with the password you chose " -"for the Compute database." -msgstr "" -"Thay NOVA_DBPASS bằng mật khẩu bạn đã chọn cho cơ " -"sở dữ liệu Compute." - -msgid "" -"Replace NOVA_PASS with the password you chose for " -"the nova user in the Identity service." -msgstr "" -"Thay NOVA_PASS bằng mật khẩu bạn đã chọn cho " -"người dùng nova trong Identity service. " - -msgid "" -"Replace NTP_SERVER with the hostname or IP " -"address of a suitable more accurate (lower stratum) NTP server. The " -"configuration supports multiple server keys." -msgstr "" -"Thay đổi NTP_SERVER với một hostname hoặc một địa " -"chỉ IP phù hợp, chính xác hơn với server NTP (tầng thấp). Việc cấu hình được " -"hỗ trợ bởi nhiều khóa server." - -msgid "" -"Replace RABBIT_PASS with a suitable password." -msgstr "" -"Thay RABBIT_PASS bằng một mật khẩu thích hợp." - -msgid "" -"Replace RABBIT_PASS with the password you chose " -"for the openstack account in RabbitMQ." -msgstr "" -"Thay thế RABBIT_PASS bằng mật khẩu bạn đã chọn " -"cho tài khoản openstack trong RabbitMQ." - -msgid "" -"Replace SAHARA_DBPASS with a suitable password." -msgstr "" -"Thay thế SAHARA_DBPASS bằng một mật khẩu phù hợp." - -msgid "" -"Replace STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network on the storage " -"node. Replace DEVICE_NAME with a storage device " -"name on the same storage node. For example, using the first storage node in " -" with the /dev/sdb1 storage device and weight of 100:" -msgstr "" -"Thay STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS " -"bằng địa chỉ IP của mạng quản lý trên node lưu trữ. Thay " -"DEVICE_NAME bằng tên của thiết bị lưu trữ trên " -"node lưu trữ. Ví dụ, sử dụng node lưu trữ đầu tiên trong phần có thiết bị lưu trữ là /dev/sdb1 và weight " -"100:" - -msgid "" -"Replace SWIFT_PASS with the password you chose " -"for the swift user in the Identity service." -msgstr "" -"Thay SWIFT_PASS bằng mật khẩu bạn đã chọn cho " -"người dùng swift trong dịch vụ Identity." - -msgid "" -"Replace TELEMETRY_SECRET with the telemetry " -"secret that you generated in a previous step." -msgstr "" -"Thay TELEMETRY_SECRET bằng bí mật telemetry bạn " -"đã sinh ra ở bước trước đó." - -msgid "" -"Replace TELEMETRY_SECRET with the telemetry " -"secret you chose for the Telemetry module." -msgstr "" -"Thay TELEMETRY_SECRET bằng mã mật telemetry mà " -"bạn đã chọn cho module Telemetry." - -msgid "" -"Replace TENANT_NETWORK_CIDR with the subnet you " -"want to associate with the tenant network and " -"TENANT_NETWORK_GATEWAY with the gateway you want " -"to associate with it, typically the \".1\" IP address." -msgstr "" -"Thay thế TENANT_NETWORK_CIDR với một mặt nạ mạng " -"mà bạn muốn sao cho phù hợp với mạng tenant và " -"TENANT_NETWORK_GATEWAY với một gateway mà bạn " -"muốn, thường địa chỉ IP sẽ là \".1\"" - -msgid "" -"Replace TIME_ZONE with an appropriate time zone " -"identifier. For more information, see the list of time zones." -msgstr "" -"Thay thế TIME_ZONE bằng một múi giời phù hợp. Để " -"biết thêm thông tin, xem danh sách múi giờ." - -msgid "Request an authentication token:" -msgstr "Yêu cầu một token xác thực:" - -msgid "Reserved user IDs" -msgstr "Các ID người dùng được để dành riêng" - -msgid "" -"Respond to prompts for database " -"management, Identity " -"service credentials, service " -"endpoint registration, and message " -"broker credentials." -msgstr "" -"Phản hồi các lời nhắc đối với việc " -"quản lý cơ sở dữ liệu, thông tin xác thực dịch vụ Identity, việc đăng ký các endpoint dịch vụ, và thông tin xác thực môi giới thông điệp." - -msgid "" -"Respond to prompts for database " -"management, Identity " -"service credentials, service " -"endpoint registration, and message " -"queue credentials." -msgstr "" -"Phản hồi các lời nhắc đối với việc " -"quản lý cơ sở dữ liệu, thông tin xác thực dịch vụ Identity, việc đăng ký các endpoint dịch vụ, và thông tin xác thực hàng đợi tin." - -msgid "" -"Respond to prompts for , which " -"will fill the below database access directive." -msgstr "" -"Phản hồi các lời nhắc cho , việc " -"này sẽ điền chỉ lệnh truy cập cơ sở dữ liệu phía dưới." - -msgid "" -"Respond to prompts for the volume group to associate with the Block Storage " -"service. The script scans for volume groups and attempts to use the first " -"one. If your system only contains the cinder-volumes " -"volume group, the script should automatically choose it." -msgstr "" -"Phản hồi các nhắc nhở đối với nhóm ổ lưu trữ để nó liên kết với dịch vụ " -"Block Storage. Script quét để tìm các nhóm ổ lưu trữ và thử sử dụng cái đầu " -"tiên. Nếu hệ thống của bạn chỉ chứa nhóm ổ lưu trữ cinder-volumes, script sẽ tự động chọn nó." - -msgid "Respond to prompts for web server configuration." -msgstr "Phản hồi các nhắc nhở đối với việc cấu hình web server." - -msgid "" -"Respond to the prompts for database management and [keystone_authtoken] settings, and API endpoint registration. The " -" command runs automatically." -msgstr "" -"Phản hồi các nhắc nhở đối với việc " -"quản lý cơ sở dữ liệu, các tùy chỉnh[keystone_authtoken], và việc đăng " -"ký API endpoint registration. " -"Lệnh được chạy tự động." - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials.." -msgstr "" -"Phản hồi các nhắc nhở đối với việc " -"quản lý cơ sở dữ liệu, thông tin xác thực dịch vụ Identity, việc đăng ký các endpoint dịch vụ, và thông tin xác thực kênh truyền tin." - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials." -msgstr "" -"Phản hồi các nhắc nhở đối với việc " -"quản lý cơ sở dữ liệu, thông tin xác thực dịch vụ Identity, việc đăng ký các endpoint dịch vụ, và thông tin xác thực kênh truyền tin." - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message queue credentials.." -msgstr "" -"Phản hồi các lời nhắc đối với việc " -"quản lý cơ sở dữ liệu, thông tin xác thực dịch vụ Identity, việc đăng ký các endpoint dịch vụ, và thông tin xác thực hàng đợi tin." - -msgid "Restart the Apache HTTP server:" -msgstr "Khởi động lại server Apache HTTP:" - -msgid "Restart the Block Storage services on the controller node:" -msgstr "Khởi động lại các dịch vụ của Block Storage trên node điều khiển:" - -msgid "Restart the Block Storage services on the storage nodes:" -msgstr "Khởi động lại các dịch vụ của Block Storage trên các node lưu trữ:" - -msgid "Restart the Block Storage services:" -msgstr "Khởi động lại các dịch vụ của Block Storage:" - -msgid "Restart the Block Storage volume service including its dependencies:" -msgstr "" -"Khởi động lại dịch vụ ổ lưu trữ Block Storage bao gồm các thành phần phụ " -"thuộc của nó:" - -msgid "Restart the Compute service:" -msgstr "Khởi động lại dịch vụ Compute:" - -msgid "Restart the Compute services:" -msgstr "Khởi động lại các dịch vụ Compute:" - -msgid "Restart the Database services:" -msgstr "Khởi động lại các dịch vụ Database:" - -msgid "Restart the Image service services:" -msgstr "Khởi động lại các dịch vụ của dịch vụ Image:" - -msgid "Restart the Image service:" -msgstr "Khởi động lại dịch vụ Image:" - -msgid "Restart the MongoDB service:" -msgstr "Khởi động lại dịch vụ MongoDB:" - -msgid "Restart the NTP service:" -msgstr "khởi động lại dịch vụ NTP:" - -msgid "Restart the Networking service:" -msgstr "Khởi động lại dịch vụ Networking:" - -msgid "Restart the Networking services:" -msgstr "Khởi động lại các dịch vụ Networking:" - -msgid "Restart the OVS service:" -msgstr "Khởi động lại dịch vụ OVS:" - -msgid "Restart the Object Storage proxy service:" -msgstr "Khởi động lại dịch vụ Object Storage proxy:" - -msgid "Restart the Open vSwitch (OVS) agent:" -msgstr "Khởi động lại Open vSwitch (OVS) agent:" - -msgid "Restart the Orchestration services:" -msgstr "Khởi động lại các dịch vụ Orchestration:" - -msgid "Restart the Telemetry services:" -msgstr "Khởi động lại các dịch vụ Telemetry:" - -msgid "Restart the agent:" -msgstr "Khởi động lại agent:" - -msgid "Restart the database service:" -msgstr "Khởi động lại dịch vụ cơ sở dữ liệu:" - -msgid "Restart the services:" -msgstr "Khởi động các dịch vụ:" - -msgid "Retrieve the sahara clusters list:" -msgstr "Thu hồi danh sách các cluster của sahara:" - -msgid "Retrieve the trove instances list:" -msgstr "Lấy ra danh sách các instance trove:" - -msgid "" -"Retrieve usage statistics from the image.download meter:" -msgstr "" -"Thu về các thống kê mức độ sử dụng từ thước đo image.download:" - -msgid "Run the following command to install the packages:" -msgstr "Chạy câu lệnh dưới đây để cài đặt các gói phần mềm:" - -msgid "Run the following commands to install the packages:" -msgstr "Chạy các lệnh sau để cài đặt các gói:" - -msgid "Run this command on all other nodes:" -msgstr "Chạy câu lệnh sau với tất cả các nút còn lại:" - -msgid "Run this command on the controller node:" -msgstr "Chạy câu lệnh sau trên nút controller:" - -msgid "SAHARA_DBPASS" -msgstr "SAHARA_DBPASS" - -msgid "SQL database" -msgstr "cơ sở dữ liệu SQL" - -msgid "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "SUSE does not use a separate ML2 plug-in package." -msgstr "SUSE không sử dụng một gói ML2 plug-in riêng lẻ." - -msgid "SWIFT_PASS" -msgstr "SWIFT_PASS" - -msgid "" -"Secure the database service including choosing a suitable password for the " -"root account:" -msgstr "" -"Bảo mật dịch vụ cơ sở dữ liệu bao gồm việc chọn một mật khẩu phù hợp cho tài " -"khoản root:" - -msgid "Secure the database service:" -msgstr "Bảo mật cho dịch vụ cơ sở dữ liệu:" - -msgid "Security" -msgstr "Bảo mật" - -msgid "" -"Select the keystone pipeline to configure the Image " -"service to use the Identity service:" -msgstr "" -"Chọn keystone pipeline để cấu hình sao cho dịch vụ Image " -"sử dụng dịch vụ Identity:" - -msgid "Select the ML2 plug-in:" -msgstr "Chọn plug-in ML2:" - -msgid "" -"Selecting the ML2 plug-in also populates the and " -" options in the /etc/neutron/neutron.conf file with the appropriate values." -msgstr "" -"Việc chọn plug-in ML2 cũng đồng thời truyền các dữ liệu thích hợp vào các " -"tùy chọn trong file /etc/" -"neutron/neutron.conf" - -msgid "Services and the [keystone_authtoken]" -msgstr "Các dịch vụ và [keystone_authtoken]" - -msgid "" -"Set the hostname of the node to controller." -msgstr "" -"Đặt tên của node thành controller." - -msgid "Set the hostname of the node to compute1." -msgstr "Đặt tên cho node này là compute1." - -msgid "Set the hostname of the node to network." -msgstr "Đặt tên cho node này là network." - -msgid "Set the hostname of the node to block1." -msgstr "Đặt tên máy của node là block1." - -msgid "Set the hostname of the node to object1." -msgstr "Đặt hostname cho nút là object1." - -msgid "Set the hostname of the node to object2." -msgstr "Đặt hostname cho nút là object2." - -msgid "" -"Set up session storage. See section Set up session storage for the dashboard in the OpenStack Cloud Administrator Guide for " -"information on user session data." -msgstr "" -"Thiết lập kho lưu trữ phiên làm việc. Xem phần Thiết lập kho lưu trữ phiên làm việc cho " -"dashboard trong Hướng dẫn Quản trị viên OpenStack Cloud để biết thông tin về dữ liệu phiên làm việc người dùng. " - -msgid "Show the service status:" -msgstr "Hiển thị trạng thái dịch vụ:" - -msgid "" -"Similarly, if your compute nodes use LVM on the operating system disk, you " -"must also modify the filter in the /etc/lvm/lvm.conf file " -"on those nodes to include only the operating system disk. For example, if " -"the /dev/sda device contains the operating system:" -msgstr "" -"Tương tự, nếu các node tính toán sử dụng LVM trên đĩa hệ thống, bạn phải " -"chỉnh sửa bộ lọc trong file /etc/lvm/lvm.conf trên các " -"node này để chỉ bao gồm đĩa hệ thống. Ví dụ, nếu thiết bị /dev/sda chứa hệ điều hành:" - -msgid "" -"So, if using Debian, you wont need to care about database creation, access " -"rights and character sets. All that is handled for you by the packages." -msgstr "" -"Nếu bạn sử dụng Debian, bạn sẽ không cần phải quan tâm đến việc tạo cơ sở dữ " -"liệu, quyền truy cập và hệ thống kí tự vì tất cả đều được các gói phần mềm " -"xử lí giúp bạn." - -msgid "" -"Some OpenStack packages generate and assign user IDs automatically during " -"package installation. In these cases, the user ID value is not important. " -"The existence of the user ID is what matters." -msgstr "" -"Một vài gói OpenStack tự động sinh ra và gán các ID người dùng trong quá " -"trình cài đặt. Trong các trường hợp này, giá trị của ID người dùng không " -"quan trọng. Sự hiện diện của ID người dùng mới quan trọng." - -msgid "" -"Some cloud images ignore the DHCP MTU option in which case you should " -"configure it using metadata, a script, or another suitable method." -msgstr "" -"Một vài cloud image bỏ qua tùy chọn DHCP MTU, trong trường hợp đó bạn nên " -"cấu hình để nó sử dụng metadata, script hoặc một phương thức thích hợp khác." - -msgid "" -"Some distributions add an extraneous entry in the /etc/hosts file that resolves the actual hostname to another loopback IP " -"address such as 127.0.1.1. You must comment out or remove " -"this entry to prevent name resolution problems." -msgstr "" -"Một số bản phân phối chèn thêm một mục không liên quan trong file/" -"etc/hosts để phân giải hostname thực sự tới một địa chỉ IP " -"loopback khác như 127.0.1.1. Bạn phải chú thích lại hoặc " -"xóa bỏ phần này đi để ngăn chặn các vấn đề liên quan tới việc phân giải tên." - -msgid "Some distributions include LVM by default." -msgstr "Một vài triển khai mặc định bao gồm LVM." - -msgid "Source the demo-openrc.sh file." -msgstr "Đưa ra file demo-openrc.sh." - -msgid "" -"Source the admin credentials to gain access to admin-only " -"CLI commands." -msgstr "" -"Sử dụng thông tin xác thực admin để có quyền truy cập và " -"các câu lệnh CLI chỉ dành cho admin." - -msgid "" -"Source the admin credentials to gain access to admin-only " -"CLI commands:" -msgstr "" -"Sử dụng thông tin xác thực admin để có quyền truy cập và " -"giao diện dòng lệnh chỉ dành cho người quản trị:" - -msgid "Source the admin tenant credentials:" -msgstr "Đưa ra thông tin xác thực của admin tenant." - -msgid "" -"Source the demo credentials to gain access to user-only " -"CLI commands:" -msgstr "" -"Đưa ra các thông tin xác thực demo để có quyền truy cập " -"vào các câu lệnh CLI chỉ dành cho người dùng:" - -msgid "" -"Source the demo credentials to perform the following " -"steps as a non-administrative project:" -msgstr "" -"Đưa ra các thông tin xác thực demo để thực hiện các bước " -"sau với tư cách là một project không có quyền quản trị:" - -msgid "Source the demo credentials:" -msgstr "Đưa ra thông tin xác thực demo:" - -msgid "Source the demo tenant credentials:" -msgstr "Đưa ra các thông tin xác thực của demo tenant:" - -msgid "Start the rsync service:" -msgstr "Khởi động dịch vụ rsync:" - -msgid "" -"Start the rsyncd service and " -"configure it to start when the system boots:" -msgstr "" -"Khởi động dịch vụ rsyncd và cấu " -"hình để cho dịch vụ này được khởi động cùng hệ thống:" - -msgid "" -"Start the Block Storage services and configure them to start when the system " -"boots:" -msgstr "" -"Khởi động các dịch vụ của Block Storage và cấu hình sao cho chúng được khởi " -"động cùng với hệ thống:" - -msgid "" -"Start the Block Storage volume service including its dependencies and " -"configure them to start when the system boots:" -msgstr "" -"Khởi động dịch vụ ổ lưu trữ của Block Storage bao gồm các thành phần phụ " -"thuộc của nó và cấu hình cho chúng khởi động cùng với hệ thống:" - -msgid "" -"Start the Compute service including its dependencies and configure them to " -"start automatically when the system boots:" -msgstr "" -"Khởi động dịch vụ Compute bao gồm các phần phụ thuộc của nó và cấu hình cho " -"chúng tự động khởi động cùng với hệ thống:" - -msgid "" -"Start the Compute services and configure them to start when the system boots:" -msgstr "" -"Khởi động các dịch vụ Compute và cấu hình để khởi động cùng lúc với hệ thống:" - -msgid "" -"Start the Data processing service and configure it to start when the system " -"boots: " -msgstr "" -"Khởi chạy dịch vụ xử lý Dữ liệu và cấu hình để dịch vụ khởi động cùng với hệ " -"thống: " - -msgid "" -"Start the Database services and configure them to start when the system " -"boots:" -msgstr "" -"Khởi động các dịch vụ Database và cấu hình sao cho chúng khởi động cùng hệ " -"thống:" - -msgid "" -"Start the Image service services and configure them to start when the system " -"boots:" -msgstr "" -"Khởi động các dịch vụ của dịch vụ Image và cấu hình cho chúng khởi động cùng " -"hệ thống:" - -msgid "" -"Start the LVM metadata service and configure it to start when the system " -"boots:" -msgstr "" -"Khởi động dịch vụ LVM metadata và cấu hình cho nó khởi động cùng hệ thống:" - -msgid "" -"Start the Memcached service and configure it to start when the system boots:" -msgstr "" -"Chạy dịch vụ Memcached và cấu hình để dịch vụ này chạy khi hệ thống khởi " -"động:" - -msgid "" -"Start the MongoDB services and configure them to start when the system boots:" -msgstr "" -"Khởi động các dịch vụ MongoDB và cấu hình cho chung khởi động cùng với hệ " -"thống:" - -msgid "Start the NTP service and configure it to start when the system boots:" -msgstr "" -"Khởi động dịch vụ NTP và cấu hình sao cho chúng được khởi động cùng hệ thống:" - -msgid "" -"Start the Networking service and configure it to start when the system boots:" -msgstr "" -"Khởi động dịch vụ Networking và cấu hình cho nó khởi động cùng với hệ thống:" - -msgid "" -"Start the Networking services and configure them to start when the system " -"boots:" -msgstr "" -"Khởi động các dịch vụ Networking và cấu hình để chúng khởi động cùng hệ " -"thống:" - -msgid "Start the OVS service and configure it to start when the system boots:" -msgstr "Khởi động dịch vụ OVS và cấu hình để nó khởi động cùng với hệ thống:" - -msgid "" -"Start the Open vSwitch (OVS) agent and configure it to start when the system " -"boots:" -msgstr "" -"Khởi động Open vSwitch (OVS) agent và cấu hình cho phép nó khởi động cùng hệ " -"thống:" - -msgid "" -"Start the Orchestration services and configure them to start when the system " -"boots:" -msgstr "" -"Khởi động các dịch vụ Orchestration và cấu hình cho chúng khởi động cùng với " -"hệ thống:" - -msgid "" -"Start the Telemetry agent and configure it to start when the system boots:" -msgstr "Chạy agent Telemetry và cấu hình để khởi động cùng hệ thống:" - -msgid "" -"Start the Telemetry services and configure them to start when the system " -"boots:" -msgstr "" -"Khởi động các dịch vụ Telemetry và cấu hình cho chúng khởi động cùng với hệ " -"thống:" - -msgid "" -"Start the database service and configure it to start when the system boots:" -msgstr "" -"Chạy dịch vụ cơ sở dữ liệu và cấu hình để nó chạy khi hệ thống khởi động:" - -msgid "" -"Start the message queue service and configure it to start when the system " -"boots:" -msgstr "" -"Khởi động dịch vụ hàng đợi message và cấu hình sao cho chúng được khởi động " -"cùng hệ thống:" - -msgid "Start the services and configure them to start when the system boots:" -msgstr "" -"Khởi động các dịch vụ và cấu hình để chúng có thể khởi động cùng hệ thống:" - -msgid "" -"Start the web server and session storage service and configure them to start " -"when the system boots:" -msgstr "" -"Khởi động web server và dịch vụ lưu trữ phiên làm việc và cấu hình cho chúng " -"khởi động cùng hệ thống:" - -msgid "" -"Switch to the [DEFAULT] section. Proceed to the " -"networking parameters. If you are using Neutron for networking, then set " -"use_neutron=true. Otherwise if you are using " -"nova-network set the given parameter to " -"false." -msgstr "" -"Chuyển tới phần [MẶC ĐỊNH]. Tiếp tục với các tham số mạng " -"kết nối. Nếu bạn đang sử dụng Neutron cho mạng kết nối của mình, hãy đặt " -"use_neutron=true. Còn nếu bạn đang sử dụng " -"nova-network hãy đặt tham số đó là " -"false." - -msgid "" -"Switch to the [keystone_authtoken] section. The " -" option should point to the public Identity API endpoint. " -" should point to the admin Identity API endpoint. For " -"example: " -msgstr "" -"Chuyển sang mục [keystone_authtoken]. Tùy chọn " -" cần trỏ đến điểm đầu nút công khai của API dịch vụ " -"Identity. cần trỏ đến điểm đầu nút quản trị của dịch vụ " -"Indentity. Ví dụ: " - -msgid "TELEMETRY_SECRET" -msgstr "TELEMETRY_SECRET" - -msgid "TENANT_NETWORK_CIDR" -msgstr "TENANT_NETWORK_CIDR" - -msgid "TENANT_NETWORK_GATEWAY" -msgstr "TENANT_NETWORK_GATEWAY" - -msgid "TIME_ZONE" -msgstr "TIME_ZONE" - -msgid "TROVE_DBPASS" -msgstr "TROVE_DBPASS" - -msgid "TROVE_PASS" -msgstr "TROVE_PASS" - -msgid "" -"Telemetry provides a framework for monitoring and metering the OpenStack " -"cloud. It is also known as the ceilometer project." -msgstr "" -"Telemetry cung cấp một framework phục vụ cho việc theo dõi và đo đạc " -"OpenStack cloud. Nó còn được biết đến là dự án ceilometer." - -msgid "" -"Telemetry uses a combination of notifications and an agent to collect " -"Compute meters. Perform these steps on each compute node." -msgstr "" -"Telemetry sử dụng kết hợp các thông báo và một agent để thu thập các bộ đếm " -"của node tính toán. Thực hiện các bước sau trên mỗi node tính toán." - -msgid "Tenant network" -msgstr "Hệ thống mạng tenant" - -msgid "" -"That should be enough for the first run. If you want to increase logging " -"level for troubleshooting, there are two parameters in the config: " -"verbose and debug. If the former is " -"set to true, sahara will start to write logs of " -"INFO level and above. If debug is set " -"to true, sahara will write all the logs, including the " -"DEBUG ones." -msgstr "" -"Như thế là đủ cho lần chạy đầu tiên. Nếu bạn muốn tăng mức độ ghi chép thông " -"tin nhật ký để phụ vụ việc chuẩn đoán và sửa chữa lỗi, có hai thông số trong " -"phần cấu hình: verbosedebug. Nếu " -"verbose được đặt giá trị là true, " -"sahara sẽ bắt đầu ghi chép các thông tin nhật ký ở mức INFO trở lên. Nếu debug được đặt giá trị là " -"true, sahara sẽ ghi chép tất cả thông tin nhật ký, bảo " -"gồm cả các thông tin mức DEBUG. " - -msgid "" -"The seen true option tells debconf that a " -"specified screen was already seen by the user so do not show it again. This " -"option is useful for upgrades." -msgstr "" -"Tùy chọn seen true nói với debconf rằng một " -"màn hình cụ thể đã được người dùng nhìn thấy nên đừng hiển thị nó lại. Tùy " -"chọn này hữu ích khi thực hiện các nâng cấp." - -msgid "" -"The metadata agent " -"provides configuration information such as credentials to instances." -msgstr "" -"Metadata agent cung cấp " -"các thông tin cấu hình như là thông tin xác thực cho các instance." - -msgid "" -"The controller node runs the Identity service, Image Service, management portions of " -"Compute and Networking, Networking plug-in, and the dashboard. It also " -"includes supporting services such as a SQL database, message " -"queue, and Network Time Protocol (NTP)." -msgstr "" -"node điều khiển " -"chạy các dịch vụ Identity, Image, các phần quản lý của Compute và " -"Networking, Networking plug-in và dashboard. Nó cũng bao gồm các dịch vụ bổ " -"trợ như cơ sở dữ liệu SQL, message queue, và " -"Giao thức Thời gian Mạng(NTP)." - -msgid "" -"The controller node runs the Identity service, Image service, management portion of " -"Compute, and the dashboard. It also includes supporting services such as a " -"SQL database, message queue, and Network " -"Time Protocol (NTP)." -msgstr "" -"Controller node sẽ " -"chạy dịch vụ Identity, Image, phần quản lý của Compute và dashboard. Nó cũng " -"bao gồm cả các dịch vụ hỗ trợ như cơ sở dữ liệu SQL, hàng đợi " -"messageNetwork Time Protocol (NTP)." - -msgid "" -"The DHCP agent provides DHCP services for virtual " -"networks." -msgstr "" -"DHCP agent cung cấp các dịch vụ DHCP cho các mạng ảo." - -msgid "" -"The Juno release is available only in Debian " -"Experimental (otherwise called rc-buggy), as Jessie is frozen soon, and will " -"contain Icehouse. However, the Debian maintainers of OpenStack also maintain " -"a non-official Debian repository for OpenStack containing Wheezy backports." -msgstr "" -"Phiên bản Juno chỉ có trong Debian Experimental (còn " -"được gọi là rc-buggy) khi mà Jessie sẽ sớm ổn định và bao gồm Icehouse. Tuy " -"nhiên các trình duy trì Debian của OpenStack cũng duy trì một repository " -"Debian không chính thức cho các bản OpenStack chứa các Wheezy backport." - -msgid "" -"The Layer-3 (L3) agent provides routing services for " -"virtual networks." -msgstr "" -"Layer-3 (L3) agent cung cấp các dịch vụ định tuyến " -"cho các hệ thống mạng ảo." - -msgid "" -"The OpenStack project is an open source cloud " -"computing platform that supports all types of cloud environments. The " -"project aims for simple implementation, massive scalability, and a rich set " -"of features. Cloud computing experts from around the world contribute to the " -"project." -msgstr "" -"Dự án OpenStack là một nền tảng điên toán đám mây mã " -"nguồn mở hỗ trợ tất cả các dạng môi trường điện toán đám mây. Dự án hướng " -"đến sự đơn giản trong triển khai với khả năng mở rộng cao và một bộ tính " -"năng phong phú. Dự án được đóng góp bởi các chuyên gia về điện toán đám mây " -"trên khắp thế giới." - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. Compute also provisions tenant networks and provides firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"Node tính toán chạy phần hypervisor của Compute có nhiệm vụ vận hành các máy ảotenant hoặc các " -"instance. Mặc định, Compute sử dụng KVM làm hypervisor. Compute cũng cung cấp các hệ thống " -"mạng tenant và các dịch vụ tường lửa (các nhóm bảo mật) . Bạn có thể chạy nhiều hơn một node tính " -"toán. " - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. The compute node also runs the Networking plug-in and an agent " -"that connect tenant networks to instances and provide firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"Node tính toán chạy phần hypervisor của Compute có nhiệm vụ vận hành glossterm baseform=\"máy ảo " -"(VM)\">các máy ảo tenant hoặc các " -"instance. Mặc định, Compute sử dụng KVM làm hypervisor. Node tính toán cũng có thể chạy các " -"plug-in Networking và một agent có nhiệm vụ kết nối các mạng tenant đến các " -"instance và cung cấp các dịch vụ tường lửa (các nhóm bảo mật). Bạn có thể chạy nhiều hơn một node tính " -"toán." - -msgid "" -"The launch an instance chapter " -"includes instructions for attaching this volume to an instance." -msgstr "" -"Chương Chạy một instance bao gồm " -"các hướng dẫn để gắn ổ lưu trữ này vào một instance." - -msgid "" -"The external_network_bridge option intentionally lacks a " -"value to enable multiple external networks on a single agent." -msgstr "" -"Tùy chọn external_network_bridge thiếu một giá trị để cho " -"phép nhiều hệ thống mạng ngoại vùng trên một agent một cách có chủ đích." - -msgid "" -"The swift client requires the -V 3 " -"parameter to use the Identity version 3 API." -msgstr "" -"Swift client yêu cầu thông số -V 3 để " -"sử dụng Identity API phiên bản 3." - -msgid "" -"The dbconfig-common package will configure MySQL for " -"these access rights, and create the database for you. Since OpenStack " -"2014.1.1, all OpenStack packages in Debian are performing the following " -"MySQL query after database creation (if you decide to use MySQL as a back-" -"end):" -msgstr "" -"Gói dbconfig-common sẽ cấu hình MySQL cho các quyền truy " -"nhập này, và tạo cơ sở dữ liệu cho bạn. Từ phiên bản OpenStack 2014.1.1, sau " -"khi cơ sở dữ liệu được tạo, tất cả các gói OpenStack trong Debian đều thực " -"thi câu truy vấn MySQL sau (nếu như bạn quyết định sử dụng MySQL làm back-" -"end):" - -msgid "" -"The heat-common package and not the heat-api package configures the Orchestration service." -msgstr "" -"Gói heat-common chứ không phải gói heat-api cấu hình dịch vụ Orchestration." - -msgid "" -"The rsync service requires no " -"authentication, so consider running it on a private network." -msgstr "" -"Dịch vụ rsync không yêu cầu xác " -"thực, vì vậy hãy cân nhắc điều này khi sử dụng trong mạng nội bộ." - -msgid "The Block Storage service creates logical volumes in this volume group." -msgstr "" -"Dịch vụ Block Storage khởi tạo các ổ lưu trữ logic trong nhóm ổ lưu trữ này." - -msgid "" -"The Block Storage service requires both the volume and " -"volumev2 services. However, both services use the same " -"API endpoint that references the Block Storage version 2 API." -msgstr "" -"Dịch vụ Block Storage yêu cầu cả hai dịch vụ volume và " -"volumev2. Tuy nhiên, hai dịch vụ này có thể dùng chung " -"một điểm cuối API cái mà tham chiếu tới Block Storage API phiên bản 2." - -msgid "" -"The CirrOS image includes conventional user name/password authentication and " -"provides these credentials at the login prompt. After logging into CirrOS, " -"we recommend that you verify network connectivity using ." -msgstr "" -"Image CirrOS bao gồm một quá trình xác thực tên/mật khẩu thông thường và " -"cung cấp các xác thực này ở phần yêu cầu đăng nhập. Sau khi đăng nhập vào " -"CirrOS, chúng tôi khuyên bạn nên kiểm tra các kết nối mạng bằng cách sử dụng " -"." - -msgid "" -"The Data processing service (sahara) enables users to provide a scalable " -"data processing stack and associated management interfaces. This includes " -"provisioning and operation of data processing clusters as well as scheduling " -"and operation of data processing jobs." -msgstr "" -"Dịch vụ xử lý Dữ liệu (sahara) cho phép người dùng cung cấp một stack xử lý " -"dữ liệu có khả năng mở rộng và các giao diện quản lý liên quan. Nó bao gồm " -"cả việc cung cấp và vận hành các cluster xử lý dữ liệu cũng như việc lên " -"lịch và vận hành của các công việc xử lý dữ liệu." - -msgid "" -"The Debian OpenStack packages are maintained on Debian Sid (also known as " -"Debian Unstable) - the current development version. Backported packages run " -"correctly on Debian Wheezy with one caveat:" -msgstr "" -"Các gói OpenStack của Debian được duy trì trên Debian Sid (còn được biết đến " -"là Debian Unstable) - phiên bản phát triển hiện tại. Các gói được backport " -"chạy chính xác trên Debian Wheezy với một lưu ý:" - -msgid "" -"The Debian OpenStack packages offer automation for this, so OpenStack users " -"do not have to manually edit the configuration files." -msgstr "" -"Các gói OpenStack của Debian cung cấp khả năng tự động hóa cho việc này, nên " -"người dùng OpenStack không phải tự tay chỉnh sửa các file cấu hình." - -msgid "" -"The Debian package post installation scripts will then perform the below " -"commands for you:" -msgstr "" -"Các script sau khi cài đặt các gói của Debian sẽ thực hiện các câu lệnh dưới " -"đây cho bạn:" - -msgid "The Debian packages" -msgstr "Các gói Debian" - -msgid "" -"The ID of the demo-volume1 volume should indicate " -"in-use status by the ID of the demo-instance1 instance." -msgstr "" -"ID của ổ lưu trữ demo-volume1 phải có trạng thái là " -"in-use bởi ID của instance demo-instance1." - -msgid "" -"The Identity Service is installed with MySQL as the database back end, " -"keystonedb as database name, and the localhost socket " -"file. The corresponding DNS will then be:" -msgstr "" -"Indentity Service được cài đặt với MySQL làm cơ sở dữ liệu back-end với tên " -"cở sở dữ liệu là keystonedb, và file socket trên " -"localhost. DNS tương ứng sẽ là: " - -msgid "" -"The Identity service manages a catalog of API endpoints associated with the " -"services in your OpenStack environment. Services use this catalog to " -"determine how to communicate with other services in your environment." -msgstr "" -"Dịch vụ Identity quản lý một danh mục các API endpoint liên kết với các dịch " -"vụ trong môi trường OpenStack của bạn. Các dịch vụ sử dụng danh mục này để " -"quyết định cách giao tiếp với các dịch vụ khác trong môi trường của bạn." - -msgid "" -"The Identity service manages a catalog of services in your OpenStack " -"environment. Services use this catalog to determine the other services " -"available in your environment." -msgstr "" -"Dịch vụ Identity quản lý một danh mục các dịch vụ trong môi trường OpenStack " -"của bạn. Các dịch vụ sử dụng danh mục này để quyết định tính sẵn sàng của " -"các dịch vụ khác trong môi trường của bạn." - -msgid "" -"The Identity service provides a catalog of services and their locations. " -"Each service that you add to your OpenStack environment requires a " -"service entity and several API endpoint in the catalog." -msgstr "" -"Dịch vụ Identity cung cấp một danh mục các dịch vụ và địa chỉ của chúng. Mỗi " -"dịch vụ mà bạn thêm vào môi trường OpenStack của mình đều yêu cầu một thực " -"thể dịch vụ và một vài API endpoint trong danh mục." - -msgid "" -"The Identity service provides authentication services for each OpenStack " -"service. The authentication service uses a combination of domains, projects (tenants), users, and roles." -msgstr "" -"Dịch vụ Identity cung cấp các dịch vụ xác thực cho mỗi dịch vụ OpenStack. " -"Dịch vụ xác thực sử dụng kết hợp thông tin của các miền, các project (các tenant), các người dùng, và các vai trò." - -msgid "" -"The Identity version 3 API adds support for domains that contain projects " -"and users. Projects and users can use the same names in different domains. " -"Therefore, in order to use the version 3 API, requests must also explicitly " -"contain at least the default domain or use IDs. For " -"simplicity, this guide explicitly uses the default domain " -"so examples can use names instead of IDs." -msgstr "" -"Identity API phiên bản 3 hỗ trợ thêm các miền chứa các project và người " -"dùng. Các project và người dùng có thể sử dụng cùng tên trên các miền khác " -"nhau. Vì thế, để sử dụng API phiên bản 3, các yêu cầu phải chứa rõ ràng ít " -"nhất miền mặc định hoặc sử dụng ID. Để cho đơn giản, bài " -"hướng dẫn này sử dụng rõ ràng miền mặc định để các ví dụ " -"có thể sử dụng tên thay vì ID." - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances." -msgstr "" -"Plug-in ML2 sử dụng cơ chế (agent) Open " -"vSwitch (OVS) để xây dựng networking framework ảo cho các " -"instance." - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances. However, the controller node does not need the OVS " -"components because it does not handle instance network traffic." -msgstr "" -"Plug-in ML2 sử dụng cơ chế(agent) Open " -"vSwitch (OVS) để xây dựng framework networking ảo cho các " -"instance. Tuy nhiên, node điều khiển không cần các thành phần của OVS bởi vì " -"nó không phụ trách việc lưu thông dữ liệu mạng instance." - -msgid "" -"The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the " -"virtual networking framework for instances." -msgstr "" -"Plug-in ML2 sử dụng cơ chế (agent) vSwitch (OVS) để xây dựng framework " -"networking ảo cho các instance." - -msgid "" -"The Networking common component configuration includes the authentication " -"mechanism, message queue, and plug-in." -msgstr "" -"Cáu hình thành phần thông thường của Networking bao gồm cơ chế xác thực, " -"hàng đợi tin và plug-in." - -msgid "" -"The Networking server component configuration includes the database, " -"authentication mechanism, message queue, topology change notifications, and " -"plug-in." -msgstr "" -"Cấu hình thành phần của máy chủ Networking bao gồm cơ sở dữ liệu, cơ chế xác " -"thực, hàng đợi tin, các thông báo về thay đổi mô hình và plug-in." - -msgid "" -"The Networking service initialization scripts expect the variable " -"NEUTRON_PLUGIN_CONF in the /etc/sysconfig/" -"neutron file to reference the ML2 plug-in configuration file. " -"Edit the /etc/sysconfig/neutron file and add the " -"following:" -msgstr "" -"Các script khởi tạo của dịch vụ Networking sẽ cho rằng biến " -"NEUTRON_PLUGIN_CONF trong file /etc/sysconfig/" -"neutron sẽ trỏ đến file cấu hình plug-in ML2. Sửa file /" -"etc/sysconfig/neutron và thêm vào các nội dung sau:" - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances." -msgstr "Dịch vụ OVS cung cấp framework networking ảo cơ sở cho các instance." - -msgid "" -"The Object Storage service does not use a SQL database on the controller " -"node. Instead, it uses distributed SQLite databases on each storage node." -msgstr "" -"Dịch vụ Object Storage không sử dụng một cơ sở dữ liệu SQL trên node điều " -"khiển. Thay vào đó, nó sử dụng các cở dữ liệu SQLite được phân bố trên từng " -"node lưu trữ." - -msgid "" -"The OpenStack Block Storage service provides block storage devices to guest " -"instances. The method in which the storage is provisioned and consumed is " -"determined by the Block Storage driver, or drivers in the case of a multi-" -"backend configuration. There are a variety of drivers that are available: " -"NAS/SAN, NFS, iSCSI, Ceph, and more. The Block Storage API and scheduler " -"services typically run on the controller nodes. Depending upon the drivers " -"used, the volume service can run on controllers, compute nodes, or " -"standalone storage nodes. For more information, see the Configuration Reference." -msgstr "" -"Dịch vụ Block Storage của OpenStack cung cấp các thiết bị block storage cho " -"các instance khách. Phương thức mà các kho lưu trữ được cung cấp và tiêu thụ " -"được quyết định bởi Block Storage driver hoặc các driver trong trường hợp " -"cấu hình đa-backend. Có nhiều các driver hiện hành khác nhau như NAS/SAN, " -"NFS, iSCSI, Ceph, và hơn nữa. Block Storage API và các dịch vụ lên lịch " -"thường chạy trên các node điều khiển. Tùy thuộc vào driver nào được sử dụng, " -"dịch vụ ổ lữu trữ có thể chạy trên các node điều khiển, tính oán hoặc các " -"node lưu trữ độc lập. Để biết thêm thông tin, xem Cấu hình Tham khảo." - -msgid "" -"The OpenStack Image service (glance) enables users to discover, register, " -"and retrieve virtual machine images. It offers a REST API that enables you to query virtual machine " -"image metadata and retrieve an actual image. You can store virtual machine " -"images made available through the Image service in a variety of locations, " -"from simple file systems to object-storage systems like OpenStack Object " -"Storage." -msgstr "" -"Dịch vụ Image của OpenStack (glance) cho phép người dùng khám phá, đăng kí " -"và nhận về các image máy ảo. Nó đưa ra lựa chọn REST API cho phép bạn có thể " -"truy vấn metadata của image máy ảo và nhận về một image thật. Bạn có thể " -"lưu trữ image máy ảo được tạo ra nhờ dịch vụ Image ở nhiều địa chỉ, từ các " -"hệ thống tập tin đơn giản cho đến các hệ thống object-storage như OpenStack " -"Object Storage." - -msgid "" -"The OpenStack Object Storage services (swift) work together to provide " -"object storage and retrieval through a REST API. Your environment must at least include the Identity service " -"(keystone) prior to deploying Object Storage." -msgstr "" -"Các dịch vụ Object Storage của OpenStack (swift) hoạt động cùng nhau để cung " -"cấp khả năng lưu trữ và nhận về các object thong qua một REST API. Môi trường của bạn ít nhất phải bao gồm " -"dịch vụ Identity (keystone) trước khi triển khai Object Storage." - -msgid "" -"The OpenStack dashboard, also known as Horizon, is a Web interface " -"that enables cloud administrators and users to manage various OpenStack " -"resources and services." -msgstr "" -"OpenStack dashboard, hay còn gọi là Horizon, là một giao diện Web cho phép " -"các quản trị viên và người dùng cloud quản lý các dịch vụ và tài nguyên " -"OpenStack khác nhau." - -msgid "" -"The OpenStack® system consists of several key projects that you install " -"separately. These projects work together depending on your cloud needs. " -"These projects include Compute, Identity Service, Networking, Image Service, " -"Block Storage, Object Storage, Telemetry, Orchestration, and Database. You " -"can install any of these projects separately and configure them stand-alone " -"or as connected entities. This guide walks through an " -"installation by using packages available through Debian 7 (code name: " -"Wheezy).This guide walks through an " -"installation by using packages available through Ubuntu 14.04.This guide shows you how to install " -"OpenStack by using packages available through Fedora 21 as well as on Red " -"Hat Enterprise Linux 7 and its derivatives through the EPEL repository.This guide shows you how to install " -"OpenStack by using packages on openSUSE 13.2 and SUSE Linux Enterprise " -"Server 12 through the Open Build Service Cloud repository. " -"Explanations of configuration options and sample configuration files are " -"included." -msgstr "" -"Hệ thống OpenStack® bao gồm một vài dự án chính mà bạn cài đặt riêng lẻ. Các " -"dự án này làm việc với nhau tùy thuộc vào nhu cầu cloud của bạn. Các dự án " -"này bao gồm Compute, Dịch vụ Identity, Networking, Dịch vụ Image, Block " -"Storage, Object Storage, Telemetry, Orchestration và Database. Bạn có thể " -"cài đặt bất kì dự án nào trong số các dự án này một cách riêng lẻ và cấu " -"hình chúng một cách độc lập hoặc như là các thực thể được kết nối với nhau. " -"Bài này hướng dẫn cài đặt bằng cách sử dụng các gói " -"hiện hành của Debian 7 (tên mã: Wheezy).Bài " -"này hướng dẫn cài đặt bằng cách sử dụng các gói hiện hành của Ubuntu 14.04.Bài này hướng dẫn cài đặt OpenStack " -"bằng cách sử dụng các gói hiện hành của Fedora 21 cũng như Red Hat " -"Enterprise Linux 7 và các biến thể của nó thông qua EPEL repository.Bài này hướng dẫn cài đặt OpenStack bằng " -"cách sử dụng các gói của openSUSE 13.2 và SUSE Linux Enterprise Server 12 " -"thông qua Open Build Service Cloud repository. Đi kèm với các giải " -"thích về các tùy chọn cấu hình và các file cấu hình mẫu." - -msgid "" -"The Orchestration module (heat) uses a heat orchestration template (HOT) to " -"create and manage cloud resources." -msgstr "" -"Orchestration module (heat) sử udnjg một heat orchestration template (HOT) " -"để khởi tạo và quản lý các tài nguyên cloud." - -msgid "" -"The Orchestration service automatically assigns the " -"heat_stack_user role to users that it creates during " -"stack deployment. By default, this role restricts API " -"operations. To avoid conflicts, do not add this role to users with the " -"heat_stack_owner role." -msgstr "" -"Dịch vụ Orchestration tự động gán vai trò heat_stack_user " -"cho những user mà nó khởi tạo trong quá trình triển khai stack. Mặc định, " -"vai trò này giới hạn các tác vụ API. Để tránh xung " -"đột, không thêm vai trò này vào trong các người dùng đã có vai trò " -"heat_stack_owner." - -msgid "The Python MySQL library is compatible with MariaDB." -msgstr "Thư viện Python MySQL tương thích với MariaDB." - -msgid "" -"The Telemetry chapter provides an Image service configuration that enables " -"notifications." -msgstr "" -"Chương về Telemetry cung cấp một cấu hình dịch vụ Image cho phép hiển thị " -"các thông báo." - -msgid "" -"The Telemetry service requires access to the Object Storage service using " -"the ResellerAdmin role. Perform these steps on the " -"controller node." -msgstr "" -"Dịch vụ Telemetry yêu cầu truy cập đến dịch vụ Object Storage bằng cách sử " -"dụng vai trò ResellerAdmin. Thực hiện các bước sau trên " -"node điều khiển." - -msgid "" -"The account server uses the account ring to maintain lists of containers." -msgstr "" -"Máy chủ tài khoản sử dụng account ring để duy trì danh sách các container." - -msgid "" -"The automatic configuration process generates a self-signed SSL certificate. " -"Consider obtaining an official certificate for production environments." -msgstr "" -"Quá trình tự động cấu hình sinh ra một chứng nhận SSL tự ký. Cân nhắc việc " -"sử dụng một chứng chỉ chính thức cho các môi trường thực tế." - -msgid "" -"The compute node handles connectivity and security groups for instances." -msgstr "" -"Node tính toán xử lý kết nối và các " -"nhóm bảo mật cho các instance." - -msgid "" -"The container server uses the container ring to maintain lists of objects. " -"However, it does not track object locations." -msgstr "" -"Container server sử dụng container ring để duy trì danh sách các object. Tuy " -"nhiên, nó không theo dõi vị trí các object." - -msgid "" -"The dashboard enables web-based interactions with the OpenStack Compute " -"cloud controller through the OpenStack APIs." -msgstr "" -"Dashboard cho phép các giao tiếp chạy trên web với trình điểu khiển " -"OpenStack Compute cloud thông qua các OpenStack API." - -msgid "" -"The dashboard relies on functional core services including Identity, Image " -"service, Compute, and either Networking (neutron) or legacy networking (nova-" -"network). Environments with stand-alone services such as Object Storage " -"cannot use the dashboard. For more information, see the developer documentation." -msgstr "" -"Dashboard hoạt động dựa vào việc hoạt động của các dịch vụ chính bao gồm " -"Identity, Image, Compute, Networking (neutron) hoặc legacy networking (nova-" -"network). Các môi trường với các dịch vụ độc lập như Object Storage không " -"thể sử dụng dashboard. Để biết thêm thông tin, xem tài liệu nhà " -"phát triển." - -msgid "" -"The debconf system helps users configure the auth_uri, " -"identity_uri, admin_tenant_name, admin_user and admin_password options." -msgstr "" -"Hệ thống debconf giúp người dùng cấu hình các tùy chọn auth_uri, identity_uri, admin_tenant_name, " -"admin_useradmin_password." - -msgid "" -"The draft version of this guide focuses on the future Liberty release and " -"will not work for the current Kilo release. If you want to install Kilo, you " -"must use the Kilo version of this guide instead." -msgstr "" -"Phiên bản nháp của bài hướng dẫn này tập trung vào phiên bản Liberty và sẽ " -"không hoạt động đối với phiên bản Kilo. Nếu bạn muốn cài Kilo, bạn phải sử " -"dụng bản Kilo của " -"hướng dẫn này." - -msgid "The example architecture assumes use of the following networks:" -msgstr "Kiến trúc mẫu này giả định sử dụng các hệ thống mạng sau đây:" - -msgid "" -"The example architecture with OpenStack Networking (neutron) requires one " -"controller node, one network node, and at least one compute node. The " -"controller node contains one network interface on the management " -"network. The network node contains one network interface on the " -"management network, one on the instance tunnels network, and one on the external network. The " -"compute node contains one network interface on the management network and " -"one on the instance tunnels network." -msgstr "" -"Kiến trúc mẫu sử dụng OpenStack Networking (neutron) yêu cầu phải có một " -"node điều khiển, một node mạng và ít nhất một node tính toán. Node điều " -"khiển gồm một giao diện mạng trên mạng quản lý. Node " -"mạng gồm một giao diện mạng trên mạng quản lý, một trên mạng các " -"đường hầm cho máy ảo, và một dành cho mạng bên ngoài. Node tính toán gồm một giao diện mạng trên mạng quản lý và một " -"trên mạng các đường hầm cho máy ảo." - -msgid "" -"The example architecture with legacy networking (nova-network) requires a " -"controller node and at least one compute node. The controller node contains " -"one network interface on the management network. The " -"compute node contains one network interface on the management network and " -"one on the external network." -msgstr "" -"Kiến trúc mẫu sử dụng legacy networking (nova-network) yêu cầu một node điều " -"khiển và ít nhất là một node tính toán. Node điều khiển chứa một giao diện " -"mạng trên hệ thống mạng quản lý. Node tính toán bao " -"gồm một giao diện mạng trên hệ thống mạng quản lý và một trên hệ " -"thống mạng ngoại vùng." - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the second interface as the external interface:" -msgstr "" -"Giao diện ngoại vùng sẽ được cấu hình một cách đặc biệt mà không cần cấp " -"phát một địa chỉ IP nào cả. Cấu hình giao diện thứ hai để dùng cho giao diện " -"ngoại vùng: " - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the third interface as the external interface:" -msgstr "" -"Giao diện kết nối bên ngoài sẽ được cấu hình một cách đặc biệt mà không cần " -"gán một địa chỉ IP nào cả. Cấu hình giao diện thứ ba để dùng làm giao diện " -"kết nối ngoài: " - -msgid "" -"The external network typically provides Internet access for your instances. " -"By default, this network only allows Internet access from instances using Network Address Translation (NAT). You can enable Internet access to " -"individual instances using a floating IP address and " -"suitable security group rules. The admin tenant owns this network because it provides external network " -"access for multiple tenants." -msgstr "" -"Mạng ngoại vùng thường cung cấp việc truy nhập Internet cho các instance của " -"bạn. Mặc định, mạng này chỉ cho phép truy nhập Internet từ các instance sử dụng Dịch chuyển Địa chỉ Mạng (NAT). Bạn có thể bật tính năng truy cập Internet tới từng instance một bằng cách sử dụng một địa chỉ IP " -"tĩnh và các quy tắc nhóm bảo mật thích " -"hợp. Tenant admin sở hữu mạng này vì nó cung cấp quyền " -"truy cập mạng ngoại vùng cho nhiều tenant khác nhau." - -msgid "" -"The following example shows how to pre-seed an automated MySQL Server " -"installation:" -msgstr "Ví dụ dưới đấy chỉ các sắp xếp một cài đặt MySQL tự động:" - -msgid "The following screens show an example Image service configuration:" -msgstr "Các hình ảnh sau cho thấy ví dụ về cấu hình dịch vụ Image:" - -msgid "" -"The following table provides a list of services that require passwords and " -"their associated references in the guide:
    Passwords
    Password nameDescription
    Database password (no " -"variable used)Root password for the database
    ADMIN_PASSPassword of user admin
    CEILOMETER_DBPASSDatabase password for the Telemetry service
    CEILOMETER_PASSPassword of Telemetry service user ceilometer
    CINDER_DBPASSDatabase password for the Block Storage service
    CINDER_PASSPassword of Block Storage service user cinder
    DASH_DBPASSDatabase password for the dashboard
    DEMO_PASSPassword of user demo
    GLANCE_DBPASSDatabase password for Image service
    GLANCE_PASSPassword of Image service user glance
    HEAT_DBPASSDatabase password for the Orchestration service
    HEAT_DOMAIN_PASSPassword of Orchestration domain
    HEAT_PASSPassword of Orchestration service user heat
    KEYSTONE_DBPASSDatabase password of Identity service
    NEUTRON_DBPASSDatabase password for the Networking service
    NEUTRON_PASSPassword of Networking service user neutron
    NOVA_DBPASSDatabase password for Compute service
    NOVA_PASSPassword of Compute service user nova
    RABBIT_PASSPassword of user guest of RabbitMQ
    SAHARA_DBPASSDatabase password of Data processing service
    SWIFT_PASSPassword of Object Storage service user swift
    TROVE_DBPASSDatabase password of Database service
    TROVE_PASSPassword of Database service user trove
    " -msgstr "" -"Bảng dưới đây cung cấp danh sách các dịch vụ yêu cầu mật khẩu và quy chiếu " -"của chúng trong bài hướng dẫn:
    Mật khẩu
    Tên mật khẩuMô tả
    Mật khẩu của cơ sở dữ liệu (không có biến được sử " -"dụng)Mật khẩu root cho cơ sở dữ liệu
    ADMIN_PASSMật khẩu của người dùng admin
    CEILOMETER_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ Telemetry
    CEILOMETER_PASSMật khẩu cho người dùng ceilometer của dịch vụ " -"Telemetry
    CINDER_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ Block " -"Storage
    CINDER_PASSMật khẩu cho người dùng cinder của dịch " -"vụ Block Storage
    DASH_DBPASSMật khẩu cho cơ sở dữ liệu của dashboard
    DEMO_PASSMật khẩu của người dùng demo
    GLANCE_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ Image
    GLANCE_PASSMật khẩu cho người dùng glance của dịch vụ Image
    HEAT_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ Orchestration
    HEAT_DOMAIN_PASSMật khẩu của miền Orchestration
    HEAT_PASSMật khẩu cho người dùng heat của dịch vụ " -"Orchestration
    KEYSTONE_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ " -"Identity
    NEUTRON_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ " -"Networking
    NEUTRON_PASSMật khẩu cho người dùng neutron của dịch vụ Networking
    NOVA_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ Compute
    NOVA_PASSMật khẩu cho người dùng nova của dịch vụ Compute
    RABBIT_PASSMật khẩu cho người dùng guest của RabbitMQ
    SAHARA_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ xử lý Dữ liệu
    SWIFT_PASSMật khẩu cho người dùng swift của dịch vụ Object " -"Storage
    TROVE_DBPASSMật khẩu cho cơ sở dữ liệu của dịch vụ Database
    TROVE_PASSMật khẩu cho người dùng trove của dịch vụ " -"Database
    " - -msgid "The installation process for this package can take a while." -msgstr "Quá trình cài đặt của gói này có thể mất một lúc." - -msgid "" -"The network node primarily handles internal and external routing and " -"DHCP services for virtual networks." -msgstr "" -"Node mạng chủ yếu xử lý việc định tuyến nội và ngoại vùng và các dịch vụ " -"DHCP cho các hệ thống mạng ảo." - -msgid "" -"The network node runs the Networking plug-in and several agents that " -"provision tenant networks and provide switching, routing, NAT, and " -"DHCP services. This node also handles external " -"(Internet) connectivity for tenant virtual machine instances." -msgstr "" -"Node mạng chạy plug-in Networking và một vài agent cung cấp các hệ thống " -"mạng tenant và cung cấp các dịch vụ chuyển mạch, định tuyến, NAT và " -"DHCP. Node này cũng xử lý kết nối ngoại vùng " -"(Internet) cho các instance máy ảo tenant." - -msgid "" -"The object server uses the object ring to maintain lists of object locations " -"on local devices." -msgstr "" -"Object server sử dụng object ring để duy trì các danh sách địa chỉ của các " -"object trên các thiết bị nội vùng." - -msgid "" -"The openSUSE distribution uses the concept of patterns to represent " -"collections of packages. If you selected 'Minimal Server Selection (Text " -"Mode)' during initial installation, you may be presented with a dependency " -"conflict when you attempt to install the OpenStack packages. To avoid this, " -"remove the minimal_base-conflicts package:" -msgstr "" -"Triển khai openSUSE sử dụng khái niệm về kiểu mẫu để thể hiện nhóm các gói. " -"Nếu bạn chọn 'Minimal Server Selection (Text Mode)' trong quá trình cài đặt " -"ban đầu, bạn có thể sẽ gặp xung đột về tính phụ thuộc khi bạn cố gắn cài đặt " -"các gói OpenStack. Để tránh điều này, xóa gói minimal_base-conflicts:" - -msgid "" -"The optional Block Storage node contains the disks that the Block Storage " -"service provisions for tenant virtual machine instances. You can run more " -"than one of these nodes." -msgstr "" -"Node tùy chọn Block Storage chứa các đĩa mà dịch vụ Block Storage cung cấp " -"cho các instance máy ảo tenant. Bạn có thể chạy nhiều hơn một node này." - -msgid "" -"The optional Object Storage nodes contain the disks that the Object Storage " -"service uses for storing accounts, containers, and objects. You can run more " -"than two of these nodes. However, the minimal architecture example requires " -"two nodes." -msgstr "" -"Các node tùy chọn Object Storage chứa các đĩa mà dịch vụ Object Storage sử " -"dụng để lưu trữ tài khoản, container và object. Bạn có thể chạy nhiều hơn " -"hai node dạng này. Tuy nhiên, ví dụ của kiến trúc tối thiếu này chỉ yêu cầu " -"hai node." - -msgid "The other directives concerning RabbitMQ will stay untouched." -msgstr "Các chỉ thị khác liên quan tới RabbitMQ sẽ không bị đụng tới." - -msgid "" -"The packages already contain a cron job under /etc/cron.hourly/" -"keystone, so it is not necessary to manually configure a periodic " -"task that purges expired tokens." -msgstr "" -"Các gói phần mềm này đã bao gồm một cron job tại /etc/cron.hourly/" -"keystone, cho nên bạn không cần thiết cấu hình bằng tay một tác " -"vụ định kì để tiêu hủy các token hết hạn." - -msgid "" -"The packages are signed by GPG key 893A90DAD85F9316. You should verify the " -"fingerprint of the imported GPG key before using it." -msgstr "" -"Các gói được ký bởi khóa GPG 893A90DAD85F9316. Bạn nên kiểm tra vân tay của " -"khóa GPG được nhập trước khi sử dụng nó." - -msgid "" -"The packages are signed by GPG key 562111AC05905EA8. You " -"should verify the fingerprint of the imported GPG key before using it." -msgstr "" -"Các gói được ký bởi khóa GPG 562111AC05905EA8. Bạn nên " -"kiểm tra vân tay của khóa GPG được nhập trước khi sử dụng nó." - -msgid "" -"The packages can automatically create the service entity and API endpoint." -msgstr "Các gói sẽ tự động tạo thực thể dịch vụ và điểm đầu cuối API." - -msgid "" -"The previous section used a combination of environment variables and command " -"options to interact with the Identity service via the " -"client. To increase efficiency of client operations, OpenStack supports " -"simple client environment scripts also known as OpenRC files. These scripts " -"typically contain common options for all clients, but also support unique " -"options. For more information, see the OpenStack User " -"Guide." -msgstr "" -"Các phần trước sử dụng một sự kết hợp giữa các biến môi trường và các tùy " -"chọn lệnh để tương tác với dịch vụ Identity thông qua client . Để tăng hiệu quả của các tác vụ client, OpenStack hỗ trợ các script môi " -"trường client đơn giản hay còn được gọi là các tập tin OpenRC. Các script " -"này thường chứa các tùy chọn thường gặp của tất cả các client nhưng nó cũng " -"đồng thời hỗ trợ các tùy chọn riêng biệt. Để biết thêm thông tin, xem Hướng dẫn Người " -"dùng OpenStack." - -msgid "" -"The proxy service relies on an authentication and authorization mechanism " -"such as the Identity service. However, unlike other services, it also offers " -"an internal mechanism that allows it to operate without any other OpenStack " -"services. However, for simplicity, this guide references the Identity " -"service in . Before you configure the Object " -"Storage service, you must create service credentials and an API endpoint." -msgstr "" -"Dịch vụ proxy dựa vào các cơ chế xác thực và ủy quyền như của dịch vụ " -"Identity. Tuy nhiên, khác với các dịch vụ khác, nó cũng đưa ra một cơ chế " -"nội bộ cho phép nó hoạt động mà không cần các dịch vụ OpenStack khác. Tuy " -"nhiên, để đơn giản vấn đề, bài hướng dẫn này trỏ đến dịch vụ Identity trong " -". Trước khi bạn cấu hình dịch vụ Object " -"Storage, bạn phải khởi tạo các thông tin xác thực dịch vụ và một API " -"endpoint." - -msgid "" -"The rules described here are from the Debian Policy Manual. " -"If any rule described in this chapter is not respected, you have found a " -"serious bug that must be fixed." -msgstr "" -"Các nguyên tắc được mô tả ở đây là từ Bản hướng dẫn Chính sách Debian. Nếu bất kỳ nguyên tắc nào được mô tả trong chương này " -"không được tuân theo, bạn đã tìm ra một lỗi nghiêm trọng và nó cần được sửa." - -msgid "" -"The server component listens on all IP addresses and the proxy component " -"only listens on the management interface IP address of the compute node. The " -"base URL indicates the location where you can use a web browser to access " -"remote consoles of instances on this compute node." -msgstr "" -"Thành phần của máy chủ lắng nghe trên tất cả các địa chỉ IP còn thành phần " -"proxy chỉ nghe trên địa chỉ IP quản lý của node tính toán. URL gốc chỉ ra " -"địa chỉ nơi mà bạn có thể sử dụng trình duyệt web để truy cập giao diện điều " -"khiển từ xa của các instance trên node tính toán này." - -msgid "" -"The status changes from BUILD to ACTIVE when your instance finishes the build process." -msgstr "" -"Tình trạng thay đổi từ BUILD đến ACTIVE khi instance của bạn kết thúc quá trình xây dựng." - -msgid "" -"The storage node runs many Object Storage services and the " -"command makes them easier to manage. You can ignore errors from services not " -"running on the storage node." -msgstr "" -"Node lưu trữ chạy nhiều dịch vụ Object Storage và lệnh giúp " -"việc quản lý chúng dễ dàng hơn. Bạn có thể bỏ qua các lỗi từ các dịch vụ " -"không chạy trên node lưu trữ." - -msgid "" -"The tenant network provides internal network access for instances. The " -"architecture isolates this type of network from other tenants. The " -"demo tenant owns this network because it only provides " -"network access for instances within it." -msgstr "" -"Mạng tenant cung cấp quyền truy cập các mạng nội bộ cho các instance. Dạng " -"kiến trúc này sẽ cô lập kiểu mạng này từ các tenant khác. Việc Giới " -"thiệu một tenant sở hữu mạng này bởi vì nó chỉ cung cấp quyền truy " -"cập mạng cho tất cả các instance nằm trong nó." - -msgid "" -"The values of AUTH_TOKEN, KEYSTONE_ENDPOINT_IP, PKG_ENDPOINT_IP and REGION_NAME depend on the answer you will provide to the debconf prompts. But " -"the values of SERVICE_NAME, SERVICE_TYPE, SERVICE_DESC and SERVICE_URL " -"are already pre-wired in each package, so you don't have to remember them." -msgstr "" -"Các giá trị của AUTH_TOKEN, " -"KEYSTONE_ENDPOINT_IP, PKG_ENDPOINT_IP " -"và REGION_NAME dựa vào câu trả lời bạn cung cấp cho các " -"yêu cầu debconf. Nhưng các giá trị SERVICE_NAME, " -"SERVICE_TYPE, SERVICE_DESC và " -"SERVICE_URL đều được định sẵn trong các gói vì vậy bạn " -"không cần phải ghi nhớ chúng." - -msgid "" -"Then, debconf does not prompt you." -msgstr "" -"Khi đó, debconf sẽ không hiện lên " -"nhắc bạn nữa." - -msgid "" -"These debconf screens appear in: ceilometer-" -"common, cinder-common, glance-common, " -"heat-common, neutron-common and nova-common." -msgstr "" -"Các hình debconf xuất hiện trong: ceilometer-" -"common, cinder-common, glance-common, " -"heat-common, neutron-common and nova-common." - -msgid "" -"These screens appear when you re-configure the dbconfig-common package:" -msgstr "" -"Những màn hình này hiển thị khi bạn cấu hình lại gói dbconfig-" -"common:" - -msgid "" -"These steps reference example components created in previous chapters. You " -"must adjust certain values such as IP addresses to match your environment." -msgstr "" -"Những bước này giúp bạn tham khảo về các thành phần ví dụ được tạo ra ở các " -"chương trước. Bạn phải điều chỉnh các giá trị như địa chỉ IP sao cho phù hợp " -"với môi trường làm việc." - -msgid "" -"This connection directive will be handled by the " -"dbconfig-common package, which provides a standard Debian " -"interface. It enables you to configure Debian database parameters. It " -"includes localized prompts for many languages and it supports the following " -"database backends: SQLite, MySQL, and PostgreSQL." -msgstr "" -"Chỉ lệnh connection này sẽ được xử lý bởi gói " -"dbconfig-common, gói này có cung cấp một giao diện Debian " -"tiêu chuẩn. Nó cho phép bạn cấu hình các thông số cơ sở dữ liệu của Debian. " -"Nó bao gồm các lời nhắc được địa phương hoá cho nhiều ngôn ngữ và nó hỗ trợ " -"các backend cơ sở dữ liệu sau: SQLite, MySQL và PostgreSQL." - -msgid "" -"This calls the post-installation script for the PACKAGE-NAME package after the user responds to all prompts. If you cannot " -"install a Debian package in a non-interactive way, you have found a release-" -"critical bug in Debian. Report it to the Debian bug tracking system." -msgstr "" -"Điều này sẽ gọi đến script sau cài đặt của gói PACKAGE-NAME sau khi người dùng phản hồi tất cả các nhắc nhở. Nếu bạn không " -"thể cài đặt một gói Debian theo một cách không tương tác, bạn đã tìm thấy " -"một lỗi phát hành nghiêm trọng trong Debian. Thông báo lại nó cho hệ thống " -"tìm kiếm lỗi của Debian." - -msgid "This caveat applies to most OpenStack packages in Wheezy." -msgstr "Lưu ý này đúng với phần lớn các gói OpenStack trong Wheezy." - -msgid "" -"This chapter assumes that you already have a working OpenStack environment " -"with at least the following components installed: Compute, Image service, " -"Identity." -msgstr "" -"Chương này giả sử bạn đã từng làm quen với môi trường của OpenStack với ít " -"nhất một trong các thành tố sau đã được cài đặt: Compute, dịch vụ Image, " -"Identity." - -msgid "" -"This chapter explains how to configure each node in the example architectures " -"including the two-node architecture with legacy networking and three-node architecture " -"with OpenStack Networking (neutron)." -msgstr "" -"Chương này hướng dẫn cách cấu hình từng node trong các kiến trúc mẫu bao gồm " -" kiến trúc " -"hai-node sử dụng legacy networking và kiến trúc ba-node sử dụng " -"OpenStack Networking (neutron)." - -msgid "" -"This chapter explains how to install and configure either OpenStack " -"Networking (neutron), or the legacy nova-" -"network component. The nova-" -"network service enables you to deploy one network type per " -"instance and is suitable for basic network functionality. OpenStack " -"Networking enables you to deploy multiple network types per instance and " -"includes plug-ins for a variety " -"of products that support virtual networking." -msgstr "" -"Chương này giải thích cách cài đặt và cấu hình các thành phần OpenStack " -"Networking (neutron) hoặc legacy nova-network. Dịch vụ nova-network " -"cho phép bạn triển khai một dạng hệ thống mạng trên một instance và nó phù " -"hợp cho các chức năng mạng cơ bản. OpenStack Networking cho phép bạn triển " -"khai nhiều dạng hệ thống mạng trên một instance và bao gồm các plug-in cho nhiều sản phẩm khác nhau có hỗ " -"trợ hệ thống mạng ảo." - -msgid "" -"This chapter explains how to use the Debian debconf and dbconfig-common packages to configure OpenStack services. These packages enable " -"users to perform configuration tasks. When users install OpenStack packages, " -"debconf prompts the user for responses, which seed the " -"contents of configuration files associated with that package. After package " -"installation, users can update the configuration of a package by using the " -" program." -msgstr "" -"Chương này giải thích cách sử dụng các gói Debian debconfdbconfig-common để cấu hình các dịch vụ OpenStack. Các gói này cho phép người " -"dùng thực hiện các tác vụ cấu hình. Khi người dùng cài đặt các gói " -"OpenStack, debconf sẽ yêu cầu các phản hồi từ người dùng, " -"giúp sắp xếp nội dung các file cấu hình liên kết với gói đó. Sau khi cài " -"đặt, người dùng có thể cập nhật cấu hình của một gói bằng cách sử dụng " -"chương trình ." - -msgid "" -"This chapter is a work in progress. It may contain incorrect information, " -"and will be updated frequently." -msgstr "" -"Chương này đang trong quá trình làm việc. Vì vậy có thể tồn tại một vài " -"thông tin không chính xác, và sẽ được cập nhật thường xuyên." - -msgid "" -"This chapter omits the backup manager because it depends on the Object " -"Storage service." -msgstr "" -"Chương này bỏ qua phần quản lý sao lưu bởi phần đó còn phụ thuộc vào dịch vụ " -"Object Storage." - -msgid "This command provides no output." -msgstr "Câu lệnh này không có kết quả trả về." - -msgid "This command uses the password for the admin user." -msgstr "Câu lệnh này sử dụng mật khẩu của người dùng admin." - -msgid "" -"This command uses the password for the demo user and API " -"port 5000 which only allows regular (non-admin) access to the Identity " -"service API." -msgstr "" -"Câu lệnh này sử dụng mật khẩu của người dùng demo và API " -"port 5000 mà cho phép truy cập thường (không phải là admin) tới Identity " -"service API." - -msgid "This example deployment uses an Apache web server." -msgstr "Triển khai ví dụ này sử dụng Apache web server." - -msgid "This example shows you how to create a MySQL 5.5 database:" -msgstr "Ví dụ này cho bạn thấy cách tạo ra cơ sở dữ liệu MySQL 5.5:" - -msgid "" -"This example shows you how to create a MySQL datastore with version 5.5:" -msgstr "" -"Ví dụ sau sẽ giúp bạn cách cài đặt một kho dữ liệu MySQL phiên bản 5.5:" - -msgid "" -"This guide describes how to deploy these services in a functional test " -"environment and, by example, teaches you how to build a production " -"environment. Realistically, you would use automation tools such as Ansible, " -"Chef, and Puppet to deploy and manage a production environment." -msgstr "" -"Tài liệu này mô tả cách triển khai các dịch vụ này trong một môi trường thử " -"nghiệm vận hành được và dạy bạn cách để xây dựng 1 môi trường thực tế thông " -"qua các ví dụ. Trên thực tế, bạn sẽ sử dụng các công cụ tự động như Ansible, " -"Chef và Puppet để triển khai và quản lý một môi trường thực tế." - -msgid "" -"This guide uses a service project that contains a unique user for each " -"service that you add to your environment." -msgstr "" -"Hướng dẫn này sử dụng một dự án dịch vụ trong đó có một người dùng duy nhất " -"cho mỗi dịch vụ mà bạn thêm vào môi trường của bạn." - -msgid "" -"This image must have the trove guest agent installed, and it must have the " -"trove-guestagent.conf file configured to connect to " -"your OpenStack environment. To correctly configure the trove-" -"guestagent.conf file, follow these steps on the guest instance " -"you are using to build your image:" -msgstr "" -"Image này phải cài đặt agent khác của trove và phải có file trove-" -"guestagent.conf được cấu hình để kết nối với môi trường OpenStack " -"của bạn. Để cấu hình chính xác file trove-guestagent.conf, làm theo các bước sau trên instance khách mà bạn dùng để xây dựng " -"image của mình:" - -msgid "" -"This information is stored in the configuration file for each service. For " -"example:" -msgstr "Thông tin này được lưu trữ trong file cấu hình của mỗi dịch vụ. Ví dụ:" - -msgid "" -"This network does not require a gateway because communication only occurs " -"among network and compute nodes in your OpenStack environment." -msgstr "" -"Mạng này không yêu cầu phải có gateway vì việc giao tiếp chỉ xảy ra giữa các " -"node tính toán và node mạng trong môi trường OpenStack của bạn." - -msgid "" -"This network requires a gateway to provide Internet access to all nodes for " -"administrative purposes such as package installation, security updates, " -"DNS, and NTP." -msgstr "" -"Mạng này yêu cầu phải có một gateway để cung cấp truy cập Internet cho tất " -"cả các node với mục đích quản trị ví dụ như cài đặt các gói phần mềm, cập " -"nhật bảo mật, DNS, và NTP." - -msgid "" -"This network requires a gateway to provide Internet access to instances in " -"your OpenStack environment." -msgstr "" -"Hệ thống mạng này yêu cầu một gateway cung cấp truy cập Internet cho các máy " -"ảo trong môi trường OpenStack của bạn." - -msgid "" -"This network shares the same subnet associated with " -"the physical network connected to the external interface on the compute node. You should specify an exclusive slice of " -"this subnet to prevent interference with other devices on the external " -"network." -msgstr "" -"Hệ thống mạng này sử dụng chung subnet với hệ thống " -"mạng vật lý liên quan được kết nối tới giao diện " -"ngoại vùng trên node điều khiển. Bạn nên dành một dải riêng của subnet này " -"để phòng tránh sự can thiệp với các thiết bị khác trên hệ thống mạng ngoại " -"vùng." - -msgid "" -"This output should indicate four agents alive on the network node and one " -"agent alive on the compute node." -msgstr "" -"Kết quả trả về phải xác định bốn agent còn hoạt động trên node mạng và một " -"agent còn hoạt động trên node tính toán." - -msgid "" -"This output should indicate four service components enabled on the " -"controller node and one service component enabled on the compute node." -msgstr "" -"Thông tin đầu ra nên thể hiện bốn thành tố dịch vụ mà đã được cho phép trên " -"nút điều khiển và một thành tố dịch vụ được cho phép trên nút Compute." - -msgid "" -"This procedure installs the Data processing service (sahara) on the " -"controller node." -msgstr "" -"Thủ tục này sẽ cài đặt dịch vụ xử lý Data (sahara) trên node điều khiển." - -msgid "This procedure installs the Database service on the controller node." -msgstr "Quá trình này cài đặt dịch vụ Database trên node điều khiển." - -msgid "" -"This screen configures the IP addresses for the service. The configuration " -"script automatically detects the IP address used by the interface that is " -"connected to the default route (/sbin/route and /sbin/ip)." -msgstr "" -"Màn hình này cấu hình địa chỉ IP cho dịch vụ. Script cấu hình tự động phát " -"hiện địa chỉ IP được sử dụng bởi giao diện được kết nối tới đường đi mặc " -"định (/sbin/route and /sbin/ip)." - -msgid "" -"This screen configures the region name for the service. For example, " -"us-east-coast or europe-paris." -msgstr "" -"Màn hình này cấu hình tên vùng cho dịch vụ. Ví dụ như code>us-east-coast hoặc europe-paris." - -msgid "This screen registers packages in the Identity Service catalog:" -msgstr "Màn hình này đăng ký các gói trong danh mục Dịch vụ Identity:" - -msgid "" -"This section assumes proper installation, configuration, and operation of " -"the Identity service as described in " -"and as well as setup of the " -"admin-openrc.sh script as described in ." -msgstr "" -"Phần này mặc định rằng dịch vụ Identity đã được cài đặt, cấu hình và vận " -"hành hợp lý như mô tả trong phần và " -" cũng như việc thiết lập script " -"admin-openrc.sh như mô tả trong phần ." - -msgid "" -"This section assumes proper installation, configuration, and operation of " -"the Identity service using the Apache HTTP server and Memcached as described " -"in ." -msgstr "" -"Phần này thực hiện việc cài đặt, cấu hình và vận hành thích hợp của dịch vụ " -"Identity bằng cách sử dụng Apache HTTP server và Memcached như được mô tả " -"trong ." - -msgid "" -"This section assumes that you are following the instructions in this guide " -"step-by-step to configure the first compute node. If you want to configure " -"additional compute nodes, prepare them in a similar fashion to the first " -"compute node in the example architectures section using the same networking service " -"as your existing environment. For either networking service, follow the " -"NTP configuration and OpenStack packages instructions. For " -"OpenStack Networking (neutron), also follow the OpenStack Networking compute node instructions. " -"For legacy networking (nova-network), also follow the legacy networking compute node instructions. Each " -"additional compute node requires unique IP addresses." -msgstr "" -"Phần này mặc định rằng bạn đang làm theo phần hướng dẫn trong bài này từng " -"bước một để cấu hình node tính toán đầu tiên. Nếu bạn muốn cấu hình thêm các " -"node tính toán, chuẩn bị chúng giống như node thứ nhất trong mục các kiến trúc mẫu sử " -"dụng các dịch vụ mạng giống như hệ thống mà bạn đang có. Đối với cả hai dịch " -"vụ networking, làm theo phần hướng dẫn cấu hình NTP và Các gói " -"OpenStack. Ngoài ra, đối với OpenStack Networking (neutron), làm theo " -"hướng dẫn ở phần node tính toán " -"của OpenStack Networking. Đối với legacy networking (nova-network), " -"làm theo hướng dẫn ở phần node tính " -"toán của legacy networking. Mỗi node tính toán bạn tạo thêm đều yêu " -"cầu các địa chỉ IP riêng biệt." - -msgid "" -"This section covers deployment of a simple flat network that provides IP addresses to your instances via DHCP. If your environment includes multiple compute nodes, the " -"multi-host feature provides redundancy by spreading " -"network functions across compute nodes." -msgstr "" -"Phần này bao gồm việc triển khai một mạng flat đơn " -"giản mà cùng cấp các địa chỉ IP cho các instance của bạn thông qua " -" DHCP . Nếu môi trường của bạn gồm nhiều nút compute, " -"đặc tính multi-host cung cấp tính dư thừa bởi bằng " -"cách trải rộng các chức năng mạng qua các nút compute." - -msgid "" -"This section describes how to install and configure storage nodes for the " -"Block Storage service. For simplicity, this configuration references one " -"storage node with an empty local block storage device /dev/sdb that contains a suitable partition table with one partition " -"/dev/sdb1 occupying the entire device. The service " -"provisions logical volumes on this device using the LVM driver and provides them to instances via iSCSI " -"transport. You can follow these instructions with minor modifications to " -"horizontally scale your environment with additional storage nodes." -msgstr "" -"Phần này hướng dẫn cách cài đặt và cấu hình các node lưu trữ cho dịch vụ " -"Block Storage. Để cho đơn giản, phần cấu hình này sử dụng một node lưu trữ " -"với một thiết bị block storage nội vùng trống /dev/sdb có " -"chứa một bảng phân vùng thích hợp cùng với một phân vùng /dev/sdb1 chiếm trọn cả thiết bị. Các ổ lưu trữ logic cung cấp dịch trên " -"thiết bị này sử dụng LVM driver và cung cấp chúng " -"cho các instance thông qua vận chuyển iSCSI. Bạn có thể làm theo " -"hướng dẫn với các chỉnh sửa nhỏ để nâng cấp môi trường của bạn theo chiều " -"ngang với các node lưu trữ được thêm vào." - -msgid "" -"This section describes how to install and configure storage nodes that " -"operate the account, container, and object services. For simplicity, this " -"configuration references two storage nodes, each containing two empty local " -"block storage devices. Each of the devices, /dev/sdb and " -"/dev/sdc, must contain a suitable partition table with " -"one partition occupying the entire device. Although the Object Storage " -"service supports any file system with extended attributes " -"(xattr), testing and benchmarking indicate the best performance " -"and reliability on XFS. For more information on " -"horizontally scaling your environment, see the Deployment Guide." -msgstr "" -"Phần này hướng dẫn cách cài đặt và cấu hình các node lưu trữ dùng để vận " -"hành các dịch vụ tài khoản, container và object. Để đơn giản hơn, phần cấu " -"hình này sử dụng hai node lưu trữ với mỗi node bao gồm 2 thiết bị lữu trữ " -"khối trống. Mỗi một thiết bị, /dev/sdb/dev/" -"sdc,phải chứa một bảng phân vùng thích hợp với một phân vùng chiếm " -"trọn thiết bị. Mặc dù Dịch vụ Object Storage hỗ trợ bất kì file hệ thống nào " -"với các đặc tính mở rộng (xattr), quá trình thử nghiệm và benchmark đều chỉ " -"ra rằng XFS có hiệu suất và độ tin cậy tốt nhất. Để biết thêm thông tin về " -"khả năng mở rộng theo chiều ngang trên hệ thống của bạn, xem Hướng dẫn Triển khai." - -msgid "" -"This section describes how to install and configure the Block Storage " -"service, code-named cinder, on the controller node. This service requires at " -"least one additional storage node that provides volumes to instances." -msgstr "" -"Trong phần này sẽ miêu tả cách để cài đặt và cấu hình dịch vụ Block Storage, " -"tên mã cinder, trên controller node. Dịch vụ này yêu cầu có ít nhất một " -"storage node thêm nữa và nó sẽ cung cấp dung lượng cho các instance." - -msgid "" -"This section describes how to install and configure the Compute service on a " -"compute node. The service supports several hypervisors to deploy instances or VMs. For simplicity, this configuration uses the " -"QEMU hypervisor " -"with the KVM " -"extension on compute nodes that support hardware acceleration for virtual " -"machines. On legacy hardware, this configuration uses the generic QEMU " -"hypervisor. You can follow these instructions with minor modifications to " -"horizontally scale your environment with additional compute nodes." -msgstr "" -"Phần này sẽ chỉ cho bạn cách để cài đặt và cấu hình dịch vụ Compute trong " -"một nút compute. Dịch vụ hỗ trợ một vài hypervisors để triển khai instances hoặc VMs. Để đơn giản hóa, việc cấu hình này sử dụng " -"QEMU hypervisor " -"với KVM mở rộng " -"trên các nút compute mà hỗ trợ tăng tốc phần cứng cho các máy ảo. Trên các " -"phần cứng có sẵn, việc cấu hình này sử dụng chung QEMU hypervisor. Bạn có " -"thể làm theo các hướng dẫn sau với những thay đổi nhỏ để mở rộng horizon " -"trong môi trường của bạn với các nút compute." - -msgid "" -"This section describes how to install and configure the Compute service, " -"code-named nova, on the controller node." -msgstr "" -"Phần này hướng dẫn cách cài đặt và cấu hình dịch vụ Compute, tên mã là nova, " -"trên node điều khiển." - -msgid "" -"This section describes how to install and configure the Image service, code-" -"named glance, on the controller node. For simplicity, this configuration " -"stores images on the local file system." -msgstr "" -"Phần này hướng dẫn cách cài đặt và cấu hình dịch vụ Image, tên mã là glance, " -"trên node điều khiển. Để cho đơn giản, phần cấu hình này lưu trữ các image " -"trên hệ thống tập tin nội vùng." - -msgid "" -"This section describes how to install and configure the OpenStack Identity " -"service, code-named keystone, on the controller node. For performance, this " -"configuration deploys the Apache HTTP server to handle requests and " -"Memcached to store tokens instead of a SQL database." -msgstr "" -"Phần này mô tả cách cài đặt và cấu hình dịch vụ OpenStack Identity, với tên " -"mã keystone, trên controller node. Để hiệu năng được tốt, cấu hình này triển " -"khai Apache HTTP server để xử lý các yêu cầu và Memcached để lưu trữ các " -"token thay vì cơ sở dữ liệu SQL." - -msgid "" -"This section describes how to install and configure the Orchestration " -"module, code-named heat, on the controller node." -msgstr "" -"Phần này hướng dẫn cách cài đặt và cấu hình module Orchestration, tên mã là " -"heat, trên node điều khiển." - -msgid "" -"This section describes how to install and configure the Telemetry module, " -"code-named ceilometer, on the controller node. The Telemetry module uses " -"separate agents to collect measurements from each OpenStack service in your " -"environment." -msgstr "" -"Phần này hướng dẫn cách cài đặt và cấu hình module Telemetry, tên mã là " -"ceilometer, trên node điều khiển. Module Telemetry sử dụng các agent riêng " -"biệt để thu thâp số liệu từ từng dịch vụ OpenStack trong môi trường của bạn." - -msgid "" -"This section describes how to install and configure the dashboard on the " -"controller node." -msgstr "" -"Phần này hướng dẫn cách cài đặt và cấu hình dashboard trên node điều khiển." - -msgid "" -"This section describes how to install and configure the proxy service that " -"handles requests for the account, container, and object services operating " -"on the storage nodes. For simplicity, this guide installs and configures the " -"proxy service on the controller node. However, you can run the proxy service " -"on any node with network connectivity to the storage nodes. Additionally, " -"you can install and configure the proxy service on multiple nodes to " -"increase performance and redundancy. For more information, see the Deployment Guide." -msgstr "" -"Phần này hướng dẫn cách cài đặt và cấu hình dịch vụ proxy, một dịch vụ xử lý " -"các yêu cầu của các dịch vụ tài khoản, container và object hoạt động trên " -"các node lưu trữ. Để cho đơn giản, bài hướng dẫn này cài đặt và cấu hình " -"dịch vụ proxy trên node điều khiển. Tuy nhiên bạn có thể chạy dịch vụ proxy " -"trên bất kì node nào có kết nối mạng đến các node lưu trữ. Thêm vào đó, bạn " -"có thể cài đặt và cấu hình dịch vụ trên nhiều node để cải thiện hiệu năng và " -"tính dư thừa. Để biết thêm thông tin xem Hướng dẫn Triển khai." - -msgid "" -"This section describes how to verify operation of the Block Storage service " -"by creating a volume." -msgstr "" -"Phần này hướng dẫn cách kiểm tra hoạt động của dịch vụ Block Storage bằng " -"cách khởi tạo một ổ lưu trữ." - -msgid "" -"This section describes how to verify operation of the Object Storage service." -msgstr "Phần này hướng dẫn cách kiểm tra hoạt động của dịch vụ Object Storage." - -msgid "" -"This section describes how to verify operation of the Orchestration module " -"(heat)." -msgstr "" -"Phần này hướng dẫn cách kiểm tra hoạt động của module Orchestration (heat)." - -msgid "This section describes how to verify operation of the Telemetry module." -msgstr "Phần này hướng dẫn cách kiểm tra hoạt động của module Telemetry." - -msgid "This section describes how to verify operation of the dashboard." -msgstr "Phần này mô tả cách xác minh hoạt động của dashboard." - -msgid "" -"This will configure the below directives (example from nova.conf):" -msgstr "" -"Nó sẽ cấu hình các chỉ thị dưới đây (ví dụ từ nova.conf):" - -msgid "" -"Three-node architecture with OpenStack Networking (neutron) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"Kiến trúc ba-node sử dụng OpenStack Networking (neutron) và các node phụ " -"dành cho các dịch vụ Block Storage và Object Storage." - -msgid "To access your instance remotely" -msgstr "Truy nhập từ xa instance của bạn" - -msgid "To access your instance using a virtual console" -msgstr "Để truy nhập instance của bạn sử dụng một bảng điều khiển ảo." - -msgid "To attach a Block Storage volume to your instance" -msgstr "Để gắn một ổ lưu trữ Block Storage vào instance của bạn" - -msgid "To configure Compute to use Networking" -msgstr "Cấu hình Compute để sử dụng Networking" - -msgid "To configure legacy networking" -msgstr "Cấu hình một mạng thường" - -msgid "To configure name resolution:" -msgstr "Cấu hình phân giải tên:" - -msgid "To configure networking:" -msgstr "Để cấu hình mạng kết nối:" - -msgid "To configure notifications" -msgstr "Để cấu hình các thông báo" - -msgid "To configure prerequisites" -msgstr "Để cấu hình những điều kiện tiên quyết" - -msgid "To configure the Apache HTTP server" -msgstr "Để cài đặt server Apache HTTP " - -msgid "To configure the DHCP agent" -msgstr "Để cấu hình DHCP agent" - -msgid "To configure the Layer-3 (L3) agent" -msgstr "Để cấu hình Layer-3 (L3) agent" - -msgid "To configure the Modular Layer 2 (ML2) plug-in" -msgstr "Để cấu hình plug-in Modular Layer 2 (ML2) " - -msgid "To configure the NTP service" -msgstr "Cấu hình dịch vụ NTP" - -msgid "To configure the Networking common components" -msgstr "Để cấu hình các thành phần thông thường của Networking" - -msgid "To configure the Networking server component" -msgstr "Cấu hình các thành phần của Networking server" - -msgid "To configure the Open vSwitch (OVS) service" -msgstr "Để cấu hình dịch vụ Open vSwitch (OVS)" - -msgid "To configure the dashboard" -msgstr "Để cấu hình dashboard." - -msgid "To configure the message queue service" -msgstr "Cấu hình dịch vụ hàng đợi message" - -msgid "To configure the metadata agent" -msgstr "Để cấu hình metadata agent" - -msgid "" -"To create a router on the tenant network and attach the external and tenant " -"networks to it" -msgstr "" -"Để khởi tạo một router trên mạng tenant và gắn các hệ thống mạng ngoại vùng " -"và tenant vào nó." - -msgid "To create a subnet on the external network" -msgstr "Khởi tạo subnet cho mạng ngoại vùng" - -msgid "To create a subnet on the tenant network" -msgstr "Để khởi tạo một subnet trên hệ thống mạng tenant" - -msgid "To create tenants, users, and roles" -msgstr "Để tạo các tenant, user và role" - -msgid "To create the Identity service credentials, complete these steps:" -msgstr "" -"Để khởi tạo các thông tin xác thực dịch vụ Identity, hoàn thành các bước sau:" - -msgid "To create the database, complete these steps:" -msgstr "Để tạo ra cơ sở dữ liệu, hoàn thành những bước sau:" - -msgid "To create the external network" -msgstr "Để khởi tạo mạng ngoại vùng" - -msgid "To create the network" -msgstr "Để khởi tạo hệ thống mạng" - -msgid "To create the ring" -msgstr "Để khởi tạo ring" - -msgid "To create the scripts" -msgstr "Để khởi tạo các script" - -msgid "To create the service credentials, complete these steps:" -msgstr "Để tạo chứng thực của dịch vụ, hoàn tất các bước sau:" - -msgid "To create the service entity and API endpoint" -msgstr "Để khởi tạo thực thể dịch vụ và API endpoint" - -msgid "To create the tenant network" -msgstr "Khởi tạo mạng tenant" - -msgid "To disable Network Manager" -msgstr "Để vô hiệu hóa Trình quản lý Hệ thống mạng" - -msgid "To enable the OpenStack repository" -msgstr "Để cho phép OpenStack repository" - -msgid "To finalize installation" -msgstr "Để kết thúc quá trình cài đặt" - -msgid "To finalize the installation" -msgstr "Để kết thúc cài đặt" - -msgid "To generate a key pair" -msgstr "Tạo một cặp khóa" - -msgid "To install and configure Block Storage controller components" -msgstr "Cài đặt và cấu hình các thành tố trong bảng điều kiển Block Storage" - -msgid "To install and configure Compute controller components" -msgstr "Để cài đặt và cấu hình các thành phần của trình điều khiển Compute" - -msgid "To install and configure the Compute controller components" -msgstr "Để cài đặt và cấu hình các thành phần của trình điều khiển Compute" - -msgid "To install and configure the Compute hypervisor components" -msgstr "Để cài đặt và cấu hình các thành tố trong Compute hypervisor" - -msgid "To install and configure the Identity service components" -msgstr "Để cài đặt và cấu hình các thành phần của dịch vụ Identity" - -msgid "To install and configure the Image service components" -msgstr "Để cài đặt và cấu hình các thành phần của dịch vụ Identity" - -msgid "To install and configure the Networking components" -msgstr "Để cài đặt và cấu hình các thành phần Networking" - -msgid "To install and configure the Orchestration components" -msgstr "Để cài đặt và cấu hình các thành phần của Orchestration" - -msgid "To install and configure the Telemetry module components" -msgstr "Để cài đặt và cấu hình các thành phần của module Telemetry" - -msgid "To install and configure the agent" -msgstr "Để cài đặt và cấu hình agent" - -msgid "To install and configure the components" -msgstr "Để cài đặt và cấu hình các thành phần" - -msgid "To install and configure the controller node components" -msgstr "Để cài đặt và cấu hình các thành phần của node điều khiển" - -msgid "To install and configure the database server" -msgstr "Để cài đặt và cấu hình server cơ sở dữ liệu" - -msgid "To install legacy networking components" -msgstr "Cài đặt các thành tố của một mạng thường" - -msgid "To install the Data processing service on the controller:" -msgstr "Để cài đặt dịch vụ xử lý Data trên node điều khiển:" - -msgid "To install the Database service on the controller:" -msgstr "Để cài đặt dịch vụ Database trên bảng điều khiển:" - -msgid "To install the NTP service" -msgstr "Cài đặt dịch vụ NTP" - -msgid "To install the Networking components" -msgstr "Để cài đặt các thành phần của Networking" - -msgid "To install the dashboard components" -msgstr "Để cài đặt các thành phần của dashboard." - -msgid "To install the message queue service" -msgstr "Cài đặt dịch vụ hàng đợi message" - -msgid "To launch an instance" -msgstr "Chạy một instance" - -msgid "" -"To launch an instance, you must at least specify the flavor, image name, " -"network, security group, key, and instance name." -msgstr "" -"Để chạy một instance, bạn phải định rõ ít nhất một trong các việc sau: " -"flavor, tên image, network, security group, key và tên instance." - -msgid "To load client environment scripts" -msgstr "Để tải các script môi trường client" - -msgid "" -"To minimize clutter and provide more resources for OpenStack, we recommend a " -"minimal installation of your Linux distribution. Also, we strongly recommend " -"that you install a 64-bit version of your distribution on at least the " -"compute node. If you install a 32-bit version of your distribution on the " -"compute node, attempting to start an instance using a 64-bit image will fail." -msgstr "" -"Để giảm thiểu tối đa sự phân mảnh nhằm mục đích dành nhiều tài nguyên hơn " -"cho OpenStack, chúng tôi khuyên bạn nên cài bản minimal cho hệ thống Linux. " -"Hơn nữa, chúng tôi cũng đề nghị bạn sử dụng phiên bản 64 bit cho hệ thống " -"hoặc ít nhất là trên node tính toán. Nếu bạn cài đặt bản 32 bit trên node " -"tính toán, bạn sẽ không thể khởi động một instance sử dụng image bản 64-bit." - -msgid "" -"To opt out of using the debconf " -"package, run the command and select non-interactive mode:" -msgstr "" -"Để bỏ việc sử dụng gói debconf, " -"chạy lệnh và chọn chế độ không tương tác: " - -msgid "" -"To retrieve image-oriented events and samples, configure the Image service " -"to send notifications to the message bus. Perform these steps on the " -"controller node." -msgstr "" -"Để khôi phục các sự kiện và mẫu của image theo định hướng, cấu hình dịch vụ " -"Image để gửi các thông báo tới thông điệp hệ thống message bus. Thực hiện " -"theo các bước sau trên controller node." - -msgid "" -"To retrieve storage-oriented events and samples, configure the Object " -"Storage service to send notifications to the message bus." -msgstr "" -"Để lấy được các sự kiện và mẫu liên quan tới hệ thống lưu trữ, cấu hình dịch " -"vụ Object Storage để gửi các thông báo tới bus tin nhắn." - -msgid "" -"To retrieve volume-oriented events and samples, you must configure the Block " -"Storage service to send notifications to the message bus. Perform these " -"steps on the controller and storage nodes." -msgstr "" -"Để lấy được các sự kiện và trích mẫu liên quan tới dung lượng lưu trữ, bạn " -"phải cấu hình dịch vụ Block Storage để gửi các thông báo đến kênh truyền " -"thông điệp. Thực hiện các bước sau trên node điều khiển và các node lưu trữ." - -msgid "" -"To run clients as a specific project and user, you can simply load the " -"associated client environment script prior to running them. For example:" -msgstr "" -"Để chạy các client như là một project hoặc người dùng cụ thể, bạn có thể đơn " -"giản tải scipt môi trường client liên quan trước khi chạy chúng. Ví dụ:" - -msgid "" -"To temporarily disable GRO on the external network interface while testing " -"your environment:" -msgstr "" -"Để tạm thời vô hiệu hóa GRO trên hệ thống mạng ngoại vùng trong khi thử " -"nghiệm môi trường của bạn:" - -msgid "To use the Debian Wheezy backports archive for Juno" -msgstr "Để sử dụng kho lưu trữ Debian Wheezy backports cho Juno" - -msgid "" -"To use the VNC client with the dashboard, the browser must support HTML5 " -"Canvas and HTML5 WebSockets." -msgstr "" -"Để sử dụng VNC client với dashboard, trình duyệt cần hỗ trộ HTML5 Canvas và " -"HTML5 WebSockets." - -msgid "To verify network connectivity" -msgstr "Kiểm tra kết nối mạng" - -msgid "" -"To verify that the Database service is installed and configured correctly, " -"try executing a trove command:" -msgstr "" -"Để xác nhận dịch vụ Database đã được cài đặt và cấu hình chính xác, thử thực " -"hiện một lệnh trove:" - -msgid "" -"To verify the Data processing service (sahara) is installed and configured " -"correctly, try requesting the clusters list using the sahara client." -msgstr "" -"Để xác nhận rằng dịch vụ xử lý Dữ liệu (sahara) đã được cài đặt và cấu hình " -"chính xác, thử yêu cầu danh sách các cluster bằng cách sử dụng sahara client." - -msgid "" -"Two-node architecture with legacy networking (nova-network) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"Kiến trúc hai-node sử dụng legacy networking (nova-network) và các node phụ " -"cho các dịch vụ Block Storage và Object Storage," - -msgid "USER" -msgstr "USER" - -msgid "Ubuntu 14.04" -msgstr "Ubuntu 14.04" - -msgid "" -"Ubuntu installs the openstack-dashboard-ubuntu-theme " -"package as a dependency. Some users reported issues with this theme in " -"previous releases. If you encounter issues, remove this package to restore " -"the original OpenStack theme." -msgstr "" -"Ubuntu cài đặt gói openstack-dashboard-ubuntu-theme là " -"một gói phụ thuộc. Một vài người dùng đã báo rằng họ gặp vấn đề với chủ đề " -"này trong các phiên bản trước đây. Nếu bạn gặp các vấn đề, xóa gói này để " -"khôi phục lại chủ đề gốc của OpenStack." - -msgid "" -"Unless you have a unique set up for your network, press ENTER." -msgstr "" -"Trừ khi bạn có một hệ thống mạng được thiết lập đặc biệt, bấm ENTER." - -msgid "" -"Unless you intend to use the exact configuration provided in this example " -"architecture, you must modify the networks in this procedure to match your " -"environment. Also, each node must resolve the other nodes by name in " -"addition to IP address. For example, the controller name must resolve to 10.0.0.11, the IP " -"address of the management interface on the controller node." -msgstr "" -"Trừ khi bạn định cấu hình y hệt kiến trúc mẫu này, bạn phải tinh chỉnh các " -"hệ thống mạng trong quá trình này sao cho phù hợp với môi trường của mình. " -"Hơn nữa các node phải phân giải được nhau bằng tên bên cạnh địa chỉ IP. Ví " -"dụ, controller phải được phân giải về địa chỉ " -"10.0.0.11, địa chỉ IP của giao diện quản lý trên node điều khiển." - -msgid "" -"Unlike other debconf prompts, you cannot pre-seed the " -"responses for the dbconfig-common prompts by using " -". Instead, you must create a file in /etc/dbconfig-" -"common. For example, you might create a keystone configuration " -"file for dbconfig-common that is located in /" -"etc/dbconfig-common/keystone.conf, as follows:" -msgstr "" -"Khác với các lời nhắc của các debconf khác, bạn không thể " -"sắp đặt trước các phản hồi cho các lời nhắc của dbconfig-common bằng cách sử dụng . Thay vào đó, bạn phải khởi tạo " -"một file trong /etc/dbconfig-common. Ví dụ, bạn có thể " -"khởi tạo một file cấu hình keystone cho dbconfig-common " -"được đặt tại /etc/dbconfig-common/keystone.conf, như " -"sau:" - -msgid "" -"Unset the temporary OS_TOKEN and OS_URL " -"environment variables:" -msgstr "" -"Hủy giá trị các biến môi trường tạm thời OS_TOKEN và " -"OS_URL:" - -msgid "" -"Update the datastore and version to use the specific image with the " -" command." -msgstr "" -"Cập nhật kho dữ liệu và phiên bản để sử dụng các image cụ thể với câu lệnh " -" ." - -msgid "" -"Update the package database, upgrade your system, and reboot for all changes " -"to take effect:" -msgstr "" -"Cập nhật cơ sở dữ liệu của gói, nâng cấp hệ thống của bạn và khởi động lại " -"để tất cả các thay đổi có tác dụng:" - -msgid "Update the repository database and install the key:" -msgstr "Câp nhật cơ sở dữ liệu repository và cài đặt khóa:" - -msgid "Upgrade the packages on your system:" -msgstr "Nâng cấp các gói cho hệ thống của bạn: " - -msgid "Upload a test file:" -msgstr "Tải lên file thử nghiệm:" - -msgid "" -"Upload the image to the Image service using the QCOW2 disk format, bare container format, and public visibility so all projects can " -"access it:" -msgstr "" -"Tải image lên dịch vụ Image sử dụng định dạng đĩa QCOW2, định dạng container " -"bare và ở chế độ công khai để tất cả project đều có " -"thể truy cập vào nó:" - -msgid "" -"Use the Database service to create cloud database resources. The integrated project name " -"is trove." -msgstr "" -"Sử dụng dịch vụ Database để tạo các nguồn database cloud. Tên dự án đã được hợp nhất là " -"trove." - -msgid "Use the command to create a stack from the template:" -msgstr "" -"Sử dụng câu lệnh để khởi tạo một chồng từ mẫu có sẵn:" - -msgid "" -"Use the command to retrieve meters on demand. For more " -"information, see Block " -"Storage audit script setup to get notifications." -msgstr "" -"Sử dụng lệnh để nhận về các metric theo yêu cầu. Để biết " -"thêm thông tin, xem Thiết " -"lập script kiểm tra Block Storage để nhận thông báo." - -msgid "" -"Use the command to verify successful creation of the stack:" -msgstr "" -"Sử dụng câu lệnh sau để xác nhận việc tạo một chồng là " -"thành công:" - -msgid "Use the YaST network module:" -msgstr "Sử dụng module mạng YaST:" - -msgid "" -"Use the database access client to connect to the database server as the " -"root user:" -msgstr "" -"Sử dụng client để kết nối tới máy chủ cơ sở dữ liệu với tư cách người dùng " -"root:" - -msgid "" -"Use the random value that you generated in a previous step. If you install " -"using non-interactive mode or you do not specify this token, the " -"configuration tool generates a random value." -msgstr "" -"Sử dụng giá trị ngẫu nhiên mà bạn tạo ra ở bước trước đó. Nếu bạn cài đặt sử " -"dụng chế độ không tương tác hoặc bạn không chỉ rõ token này, công cụ cấu " -"hình sẽ tạo ra một giá trị ngẫu nhiên." - -msgid "Verify addition of the key pair:" -msgstr "Xác nhận việc thêm cặp khóa:" - -msgid "Verify addition of the public key:" -msgstr "Xác minh việc thêm khóa công khai:" - -msgid "Verify connectivity" -msgstr "Kiểm tra kết nối" - -msgid "Verify creation and availability of the volume:" -msgstr "Xác nhận việc khởi tạo và tính sẵn sàng của ổ lưu trữ:" - -msgid "Verify creation of the network:" -msgstr "Kiểm tra việc khởi tạo hệ thống mạng:" - -msgid "" -"Verify network connectivity using from the controller node " -"or any host on the external network:" -msgstr "" -"Kiểm tra kết nối mạng bằng cách sử dung từ node điều khiển " -"hoặc bất kỳ máy vật lý nào trên hệ thống mạng ngoại vùng:" - -msgid "Verify operation" -msgstr "Xác nhận hoạt động" - -msgid "Verify operation of the Compute service." -msgstr "Kiểm tra hoạt động của dịch vụ Compute." - -msgid "" -"Verify operation of the Identity service before installing other services." -msgstr "" -"Kiểm tra hoạt động của dịch vụ Identity trước khi cài đặt các dịch vụ khác." - -msgid "" -"Verify operation of the Image service using CirrOS, a small Linux image that helps you " -"test your OpenStack deployment." -msgstr "" -"Kiểm tra hoạt động của dịch vụ Image bằng cách sử dụng CirrOS, một image Linux nhỏ giúp bạn " -"kiểm tra hoạt động của hệ thống OpenStack của mình." - -msgid "Verify the demo-net network:" -msgstr "Xác thực mạng demo-net" - -msgid "Verify the demo-net tenant network gateway:" -msgstr "Xác nhận gateway của mạng tenant demo-net:" - -msgid "Verify the ext-net external network:" -msgstr "Kiểm tra hệ thống mạng ngoại vùng ext-net:" - -msgid "Verify the Data processing service installation" -msgstr "Xác nhận việc cài đặt dịch vụ xử lý Dữ liệu" - -msgid "Verify the Database service installation" -msgstr "Xác nhận việc cài đặt dịch vụ Database" - -msgid "Verify the Telemetry installation" -msgstr "Xác nhận việc cài đặt Telemetry" - -msgid "Verify the ring contents:" -msgstr "Kiểm tra nội dung của ring:" - -msgid "" -"We recommend that you verify NTP synchronization before proceeding further. " -"Some nodes, particularly those that reference the controller node, can take " -"several minutes to synchronize." -msgstr "" -"Chúng tôi khuyên bạn nên xác thực việc đồng bộ hóa NTP trước khi làm các " -"bước tiếp theo. Một vài nút, đặc biệt là những nút có tham chiếu tới nút " -"controller, có thể mất một chút thời gian cho việc đồng bộ hóa." - -msgid "" -"We recommend that you verify network connectivity and resolve any issues " -"before proceeding further. Following the external network subnet example " -"using 203.0.113.0/24, the tenant router gateway should " -"occupy the lowest IP address in the floating IP address range, " -"203.0.113.101. If you configured your external physical " -"network and virtual networks correctly, you should be able to this IP address from any host on your external physical network." -msgstr "" -"Chúng tôi khuyên bạn nên kiểm tra các kết nối mạng và xử lý bất kì vấn đề " -"nào nảy sinh trước khi tiếp tục các phần cài đặt tiếp theo. Ví dụ như khi " -"subnet của hệ thống mạng ngoại vùng sử dụng dải mạng " -"203.0.113.0/24, tenant router gateway nên nhận địa chỉ " -"nhỏ nhất trong dải IP động, 203.0.113.101. Nếu như bạn " -"cấu hình mạng vật lý ngoại vùng và các mạng ảo chính xác, bạn phải " -" được từ địa chỉ IP này đến bất kì máy vật lý nào trên hệ " -"thống mạng vật lý ngoại vùng." - -msgid "" -"We recommend that you verify network connectivity to the Internet and among " -"the nodes before proceeding further." -msgstr "" -"Chúng tôi khuyên bạn kiểm tra kết nối mạng ra ngoài Internet và giữa các " -"node trước khi tiếp tục." - -msgid "" -"When you implement this architecture, skip in . To use optional " -"services, you might need to build additional nodes, as described in " -"subsequent chapters." -msgstr "" -"Khi bạn cài đặt kiến trúc này, bỏ qua phần trong . Để sử dụng các dịch " -"vụ tùy chọn, bạn có thể phải xây dựn thêm các node khác như mô tả trong các " -"chương kế sau." - -msgid "" -"When you implement this architecture, skip in . Optional services might " -"require additional nodes or additional resources on existing nodes." -msgstr "" -"Khi bạn cài đặt kiến trúc này, bỏ qua phần trong . Các dịch vụ tùy chọn " -"có thể sẽ yêu cầu thêm các node hoặc thêm tài nguyên trên các node hiện hành." - -msgid "" -"When you install a package for an API service, you are prompted to register " -"that service. However, after you install or upgrade the package for an API " -"service, Debian immediately removes your response to this prompt from the " -"debconf database. Consequently, you are prompted to re-" -"register the service with the Identity Service. If you already registered " -"the API service, respond no when you upgrade." -msgstr "" -"Khi cài đặt một gói của dịch vụ API, bạn sẽ được nhắc đăng ký dịch vụ đó. " -"Tuy nhiên, sau khi bạn cài đặt hoặc nâng cấp các gói của một dịch vụ API, " -"Debian ngay lập tức xóa phản hồi của bạn với nhắc nhở này từ cơ sở dữ liệu " -"debconf. Do đó, bạn sẽ được nhắc đăng ký lại dịch vụ này " -"với Dịch vụ Identity. Nếu bạn đã đăng ký dịch vụ API, trả lời no khi bạn nâng cấp." - -msgid "" -"When you install or upgrade a Debian package, all configuration file values " -"are preserved. Using the debconf " -"database as a registry is considered a bug in Debian. If you edit something " -"in any OpenStack configuration file, the debconf package reads that value when it prepares to prompt " -"the user. For example, to change the log in name for the RabbitMQ messaging " -"queue for a service, you can edit its value in the corresponding " -"configuration file." -msgstr "" -"Khi bạn cài đặt hoặc cài đặt một gói Debian, tất cả các giá trị tập tin cấu " -"hình đều được bảo quản. Sử dụng cơ sở dữ liệu debconf như là một registry bị coi là một lỗi trong Debian. " -"Nếu bạn thay đổi thông tin gì trong bất kỳ tập tin cáu hình OpenStack nào, " -"gói sẽ đọc giá trị đó khi nó chuẩn bị để hỏi người dùng. Ví dụ, để thay đổi " -"file ghi chép của hàng đợi tin RabbitMQ cho một dịch vụ, bạn có thể sửa giá " -"trị của nó trong tập tin cấu hình tương ứng." - -msgid "" -"You are prompted for the Identity Service admin_token " -"value. The Identity Service uses this value to register the API service. " -"When you set up the keystone package, this value is " -"configured automatically." -msgstr "" -"Bạn sẽ được hỏi đến giá trị admin_token của Dịch vụ " -"Identity. Dịch vụ Identity sử dụng giá trị này để đăng ký dịch vụ API. Khi " -"bạn thiết lập gói keystone, giá trị này được cấu hình tự " -"động." - -msgid "" -"You can also disable journaling. For more information, see the MongoDB manual." -msgstr "" -"Bạn cũng có thể tắt ghi chép nhật ký. Để biết thêm thông tin, xem MongoDB manual." - -msgid "You can also reference a flavor by ID." -msgstr "Bạn cũng có thể tham chiếu một flavor thông qua ID." - -msgid "" -"You can modify these ranges and gateways to work with your particular " -"network infrastructure." -msgstr "" -"Bạn cũng có thẻ tùy chỉnh các dải mạng và gateway này sao cho phù hợp với hạ " -"tầng mạng riêng của bạn." - -msgid "" -"You can pre-seed all debconf " -"prompts. To pre-seed means to store responses in the debconf database so that debconf does not prompt the " -"user for responses. Pre-seeding enables a hands-free installation for users. " -"The package maintainer creates scripts that automatically configure the " -"services." -msgstr "" -"Bạn có thể sắp xếp trước tất cả các nhắc nhở debconf. Sắp xếp trước nghĩa là lưu các phản hồi trong cơ sở " -"dữ liệu debconf để cho debconf không " -"hiện lên và yêu cầu phản hồi từ người dùng. Sắp xếp trước giúp người dùng " -"rảnh tay khi cài đặt. Trình duy trì gói khởi tạo các scipt tự động cấu hình " -"các dịch vụ." - -msgid "You can repeat this procedure to create additional projects and users." -msgstr "Bạn có thể lặp lại quy trình này để tạo thêm các dự án và người dùng." - -msgid "" -"You must add the heat_stack_owner role to users that " -"manage stacks." -msgstr "" -"Bạn phải thêm vai trò heat_stack_owner vào trong những " -"người dùng quản lý các stack." - -msgid "" -"You must configure each storage node before you install and configure the " -"Object Storage service on it. Similar to the controller node, each storage " -"node contains one network interface on the management network. Optionally, each storage node can contain a second network " -"interface on a separate network for replication. For more information, see " -"." -msgstr "" -"Bạn phải cấu hình từng node lưu trữ trước khi cài đặt và cấu hình Object " -"Storage trên chúng. Tương tự như node điều khiển, mõi node lưu trữ đều bao " -"gồm một giao diện mạng thuộc hệ thống mạng quản lý. " -"Ngoài ra, mỗi node lưu trữ có thể bao gồm một giao diện mạng thứ hai nằm " -"trên một hệ thống mạng riêng biệt dùng cho mục đích sao lưu. Để biết thêm " -"chi tiết, xem ." - -msgid "" -"You must configure the storage node before you install and configure the " -"volume service on it. Similar to the controller node, the storage node " -"contains one network interface on the management network. The storage node also needs an empty block storage device of " -"suitable size for your environment. For more information, see ." -msgstr "" -"Bạn phải cấu hình node lưu trữ trước khi cài đặt và cấu hình dịch vụ ổ lưu " -"trữ trên nó. Tương tự như node điều khiển, node lưu trữ chứa một giao diện " -"mạng nằm trên hệ thống mạng quản lý. Node lưu trữ " -"cũng cần một thiết bị block storage trống có kích thước phù hợp với môi " -"trường của bạn. Để biết thêm thông tin, xem ." - -msgid "You must create a partition table and file system to use the volume." -msgstr "Bạn phải tạo một bảng phân vùng và hệ thống thư mục để sử dụng volume." - -msgid "" -"You must enable remote access before you install OpenStack services on " -"multiple nodes." -msgstr "" -"Bạn phải bật tính năng cho phép truy cập từ xa trước khi bạn cài đặt các " -"dịch vụ OpenStack trên nhiều node." - -msgid "" -"You must install NTP to properly synchronize services among nodes. We recommend that " -"you configure the controller node to reference more accurate (lower stratum) " -"servers and other nodes to reference the controller node." -msgstr "" -"Bạn cần phải cài đặt NTP với các dịch dụ đồng bộ thích hợp giữa các nút với " -"nhau. Chúng tôi khuyên bạn nên cấu hình nút điều khiển để tham chiếu tới các " -"server chính xác hơn (ở các tầng thấp hơn) và các nút khác có thể tham chiếu " -"lại tới nút điều khiển." - -msgid "" -"You must pass the value of the authentication token to the " -"command with the --os-token parameter or set the " -"OS_TOKEN environment variable. Similarly, you must also pass " -"the value of the Identity service URL to the command with " -"the --os-url parameter or set the OS_URL environment variable. This guide uses environment variables to reduce " -"command length." -msgstr "" -"Bạn phải chuyển giá trị của token xác thực sang câu lệnh " -"với thông số --os-token hoặc đặt biến môi trường " -"OS_TOKEN. Tương tự, bạn phải chuyển giá trị của URL của dịch " -"vụ Identity sang câu lệnh với thông số --os-url hoặc đặt biết môi trường OS_URL. Bài hướng dẫn này " -"sử dụng các biến môi trường để giảm độ dài câu lệnh." - -msgid "You must reference volumes using the IDs instead of names." -msgstr "Bạn phải trỏ đến các ổ lưu trữ bằng ID thay vì bằng tên của chúng." - -msgid "" -"You must source the admin tenant credentials for this " -"step and then source the demo tenant credentials for the " -"remaining steps." -msgstr "" -"Bạn phải đưa ra thông tin xác thực của admin tenant cho " -"bước này và đưa ra thông tin xác thực của demo tenant cho " -"các bước còn lại." - -msgid "" -"You must use an account with administrative privileges to configure each " -"node. Either run the commands as the root user or " -"configure the sudo utility." -msgstr "" -"Bạn phải sử dụng một tài khoản với các quyền quản trị để cấu hình từng node " -"bằng cách chạy các lệnh với tư cách là người dùng root " -"hoặc cấu hình tiện ích sudo." - -msgid "" -"You need to install the required packages. For now, sahara doesn't have " -"packages for Ubuntu. Documentation will be updated once the packages are " -"available. The rest of this document assumes that you have the sahara " -"service packages installed on the system." -msgstr "" -"Bạn cần phải cài đặt các gói phần mềm cần thiết. Cho đến giờ sahara không có " -"các gói cho Ubuntu. Tài liệu sẽ được cập nhật một khi các gói trở nên khả " -"dụng. Phần còn lại của tài liệu giả định các gói phần mềm của dịch vụ sahara " -"đã được cài đặt trên hệ thống của bạn." - -msgid "" -"You need to take upstream api-paste.ini and change " -"content below in it:" -msgstr "" -"Bạn cần thay đổi nội dung trong thư mục api-paste.ini " -"với nội dung như sau:" - -msgid "You should see output similar to this:" -msgstr "Bạn sẽ thấy kết quả trả về tương tự như sau:" - -msgid "" -"Your OpenStack environment now includes Block Storage. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Môi trường OpenStack của bạn bây giờ có thêm cả Block Storage. Bạn có thể " -" chạy thử một instance hoặc thêm " -"các dịch vụ cho môi trường của bạn trong các chương sau." - -msgid "" -"Your OpenStack environment now includes Object Storage. You can launch an instance or add more services " -"to your environment in the following chapters." -msgstr "" -"Môi trường OpenStack của bạn bây giờ đã bao gồm Object Storage. Bạn có thể " -"chạy một instance hoặc thêm các " -"dịch vụ khác vào môi trường của bạn ở các chương sau." - -msgid "" -"Your OpenStack environment now includes Orchestration. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Môi trường OpenStack của bạn bây giờ bao gồm cả Orchestration. Bạn có thể " -"chạy thử một instance hoặc chèn " -"thêm các dịch vụ vào môi trường của bạn trong các chương sắp tới." - -msgid "" -"Your OpenStack environment now includes Telemetry. You can launch an instance or add more services to your " -"environment in the previous chapters." -msgstr "" -"Môi trường OpenStack của bạn bây giờ đã bao gồm dịch vụ Telemetry. Bạn có " -"thể chạy một instance hoặc thêm các " -"dịch vụ khác trong các chương trước vào môi trường của bạn." - -msgid "" -"Your OpenStack environment now includes the core components necessary to " -"launch a basic instance. You can launch an " -"instance or add more OpenStack services to your environment." -msgstr "" -"Môi trường OpenStack của bạn bây giờ đã bao gồm các thành phần chính cần " -"thiết để chạy một instance cơ bản. Bạn có thể chạy một instance hoặc thêm các dịch vụ OpenStack khác vào môi " -"trường của bạn." - -msgid "" -"Your OpenStack environment now includes the dashboard. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"Hệ thống OpenStack của bạn bây giời đã có dashboard. Bạn có thể chạy một instance hoặc thêm các dịch vụ " -"khác ở các chương sau." - -msgid "" -"Your distribution does not enable a restrictive firewall by default. For more information about securing your environment, " -"refer to the OpenStack " -"Security Guide." -msgstr "" -"Triển khai của bạn không mặc định bật một firewall " -"với nhiều hạn chế. Để biết thêm thông tin về cách bảo mật môi trường của " -"bạn, xem Hướng dẫn Bảo " -"mật OpenStack." - -msgid "" -"Your distribution enables a restrictive firewall by " -"default. During the installation process, certain steps will fail unless you " -"alter or disable the firewall. For more information about securing your " -"environment, refer to the OpenStack Security Guide." -msgstr "" -"Triển khai của bạn mặc định bật một firewall có nhiều " -"hạn chế. Trong quá trình cài đặt, một vài bước sẽ không thành công trừ khi " -"bạn chỉnh sửa hoặc vô hiệu hóa firewall. Để biết thêm thông tin về cách bảo " -"mật môi trường của bạn, xem Hướng dẫn Bảo mật OpenStack." - -msgid "" -"Your first instance uses the cirros-0.3.4-x86_64 image." -msgstr "" -"Instance đầu tiên của bạn sử dụng image cirros-0.3.4-x86_64." - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"Instance đầu tiên của bạn sử dụng nhóm bảo mật mặc định. " -"Mặc định, nhóm bảo mật này cài một tường lửa chặn các truy cập từ xa đến các " -"instance. Bạn phải chạy nó lên và cấu hình truy cập từ xa. nếu bạn muốn cho phép việc " -"truy cập từ xa." - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"Instance đầu tiên của bạn sử dụng nhóm bảo mật default. " -"Mặc định, nhóm bảo mật này thực thi tường lửa để chặn các truy nhập từ xa " -"tới các instance. Nếu bạn muốn có cho phép truy nhập từ xa tới instance của " -"bạn, chạy nó và sau đó " -"cấu hình truy nhập từ xa ." - -msgid "" -"Your first instance uses the demo-net tenant network. " -"However, you must reference this network using the ID instead of the name." -msgstr "" -"Instance đầu tiên của bạn sử dụng mạng demo-net tenant. " -"Tuy nhiên, bạn cần tham chiếu mạng này bằng các sử dụng ID thay vì sử dụng " -"tên." - -msgid "Your first instance uses the m1.tiny flavor." -msgstr "Instance đầu tiên của bạn sử dụng flavor m1.tiny ." - -msgid "active" -msgstr "active" - -msgid "api-paste.ini" -msgstr "api-paste.ini" - -msgid "ceilometer" -msgstr "ceilometer" - -msgid "cinder" -msgstr "cinder" - -msgid "compute1" -msgstr "compute1" - -msgid "controller" -msgstr "controller" - -msgid "datastore_manager" -msgstr "người_quản_lý_kho_dữ_liệu" - -msgid "datastore_name" -msgstr "tên_kho_dữ_liệu" - -msgid "datastore_version" -msgstr "phiên_bản_kho_dữ_liệu" - -msgid "debconf concepts" -msgstr "các khái niệm debconf" - -msgid "demo-instance1" -msgstr "demo-instance1" - -msgid "glance" -msgstr "glance" - -msgid "glance_image_ID" -msgstr "glance_image_ID" - -msgid "glance_image_id" -msgstr "glance_image_id" - -msgid "guest" -msgstr "khách" - -msgid "heat" -msgstr "heat" - -msgid "keystone" -msgstr "keystone" - -msgid "kilo" -msgstr "kilo" - -msgid "name" -msgstr "tên" - -msgid "network" -msgstr "mạng" - -msgid "neutron" -msgstr "neutron" - -msgid "nova" -msgstr "nova" - -msgid "openSUSE and SUSE Linux Enterprise Server" -msgstr "openSUSE và SUSE Linux Enterprise Server" - -msgid "packages" -msgstr "các gói" - -msgid "swift" -msgstr "nhanh chóng" - -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -msgid "translator-credits" -msgstr "translator-credits" - -msgid "trove" -msgstr "trove" - -msgid "trove-conductor.conf" -msgstr "trove-conductor.conf" - -msgid "trove-taskmanager.conf" -msgstr "trove-taskmanager.conf" - -msgid "trove.conf" -msgstr "trove.conf" - -msgid "version_name" -msgstr "tên_phiên_bản" diff --git a/doc/install-guide/locale/zh_CN.po b/doc/install-guide/locale/zh_CN.po deleted file mode 100644 index 3630c8f581..0000000000 --- a/doc/install-guide/locale/zh_CN.po +++ /dev/null @@ -1,7044 +0,0 @@ -# -# Translators: -# Alfred , 2015 -# blkart , 2015 -# Bo Qin , 2014 -# Chen Peng , 2015 -# CoffeeChou , 2015 -# Heyzhu , 2014 -# Dongliang Yu , 2013 -# honglei, 2015 -# Kai Zhang , 2013-2014 -# nickyniu , 2014 -# Tom Fifield , 2013-2015 -# XiaoYong Yuan , 2013 -# Ying Chun Guo , 2014 -# yuanpu , 2013 -# zhaochao , 2014 -# Zhao Xia , 2014 -# 刘俊朋 , 2015 -# 刘志刚 , 2014 -# 颜海峰 , 2014 -msgid "" -msgstr "" -"Project-Id-Version: OpenStack Manuals\n" -"POT-Creation-Date: 2015-08-11 05:11+0000\n" -"PO-Revision-Date: 2015-08-10 06:25+0000\n" -"Last-Translator: openstackjenkins \n" -"Language-Team: Chinese (China) (http://www.transifex.com/openstack/openstack-" -"manuals-i18n/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "(Optional)" -msgstr "(可选)" - -msgid "" -"(Optional) To assist with troubleshooting, enable verbose logging in the " -"[DEFAULT] section:" -msgstr "" -"(可选配置)可以在 [DEFAULT] 段中开启详细日志配置,为后期的" -"故障排除提供帮助:" - -msgid "/" -msgstr "/" - -msgid "/etc//validation-rules.json" -msgstr "/etc//validation-rules.json" - -msgid "160" -msgstr "160" - -msgid "161" -msgstr "161" - -msgid "162" -msgstr "162" - -msgid "163" -msgstr "163" - -msgid "164" -msgstr "164" - -msgid "165" -msgstr "165" - -msgid "166" -msgstr "166" - -msgid "187" -msgstr "187" - -msgid "2012" -msgstr "2012" - -msgid "2013" -msgstr "2013" - -msgid "2014" -msgstr "2014" - -msgid "2015" -msgstr "2015" - -msgid "96" -msgstr "96" - -msgid "" -"python-keystoneclient will automatically be installed as " -"it is a dependency of the keystone package." -msgstr "" -"python-keystoneclient 会作为 keystone " -"包的依赖而被安装。" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguide-neutron-initialnetworks.png'; " -"md5=f77c580f44d340221742a6a1ac443b33" -msgstr "" -"@@image: '../common/figures/installguide-neutron-initialnetworks.png'; " -"md5=f77c580f44d340221742a6a1ac443b33" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-hw.png'; " -"md5=256987507b566287c69081c1b1083941" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-hw.png'; " -"md5=256987507b566287c69081c1b1083941" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-networks.png'; " -"md5=e9bc3993ebae65063c83a7fcbe779ad2" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-networks.png'; " -"md5=e9bc3993ebae65063c83a7fcbe779ad2" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-neutron-services.png'; " -"md5=bba84d5b30fc9ed13391738d072c376a" -msgstr "" -"@@image: '../common/figures/installguidearch-neutron-services.png'; " -"md5=bba84d5b30fc9ed13391738d072c376a" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-hw.png'; " -"md5=2868ba248354a3ff4a4bb5a39e1a6261" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-hw.png'; " -"md5=2868ba248354a3ff4a4bb5a39e1a6261" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-networks.png'; " -"md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-networks.png'; " -"md5=cd9a3c8bb6b4b1963d3c6e2db9d6279e" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/installguidearch-nova-services.png'; " -"md5=5c151372a5eeb4f07c537c37cd956e22" -msgstr "" -"@@image: '../common/figures/installguidearch-nova-services.png'; " -"md5=5c151372a5eeb4f07c537c37cd956e22" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: '../common/figures/openstack_kilo_conceptual_arch.png'; " -"md5=75711ac48a6bdac83020ae2677064023" -msgstr "" -"@@image: '../common/figures/openstack_kilo_conceptual_arch.png'; " -"md5=75711ac48a6bdac83020ae2677064023" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; " -"md5=d534be231be4f725820a1050fbf44231" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_1_register_endpoint.png'; " -"md5=d534be231be4f725820a1050fbf44231" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip." -"png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_2_keystone_server_ip." -"png'; md5=d2c5a5b82dd433fcf9cde6f5ac34c30e" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken." -"png'; md5=1f3b05ebe671f64d672ac70d246e4f39" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_3_keystone_authtoken." -"png'; md5=1f3b05ebe671f64d672ac70d246e4f39" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-" -"endpoint_4_service_endpoint_ip_address.png'; " -"md5=6853f0ae2ef8d5fddb22c466d465de15" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-" -"endpoint_4_service_endpoint_ip_address.png'; " -"md5=6853f0ae2ef8d5fddb22c466d465de15" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; " -"md5=a6bce0acf5a1cb85f161290f0cf30733" -msgstr "" -"@@image: 'figures/debconf-screenshots/api-endpoint_5_region_name.png'; " -"md5=a6bce0acf5a1cb85f161290f0cf30733" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-" -"dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_1_configure-with-" -"dbconfig-yes-no.png'; md5=4e9d7bce27cc6c7bd68ce8622c80b60f" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; " -"md5=a77beb7e13b487cf79716c2140f258c2" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_2_db-types.png'; " -"md5=a77beb7e13b487cf79716c2140f258c2" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method." -"png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_3_connection_method." -"png'; md5=6cc592e5dd5ea404ad7aad98b37a71f6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password." -"png'; md5=873ec338742e37305583e9e692bcfdc6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_4_mysql_root_password." -"png'; md5=873ec338742e37305583e9e692bcfdc6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password." -"png'; md5=3651970770d05892f21d1b5741afbee6" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_5_mysql_app_password." -"png'; md5=3651970770d05892f21d1b5741afbee6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-" -"common_6_mysql_app_password_confirm.png'; " -"md5=060cc90aaf6f6fd5cea718064829c1b1" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-" -"common_6_mysql_app_password_confirm.png'; " -"md5=060cc90aaf6f6fd5cea718064829c1b1" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; " -"md5=01af4867c16e458306b8abd78a1fccc9" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png'; " -"md5=01af4867c16e458306b8abd78a1fccc9" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db." -"png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" -msgstr "" -"@@image: 'figures/debconf-screenshots/dbconfig-common_used_for_remote_db." -"png'; md5=c6ec966bbfdee18ad87456cf4d44a56f" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; " -"md5=78bef92c36a140ad042074f6345d8917" -msgstr "" -"@@image: 'figures/debconf-screenshots/glance-common_pipeline_flavor.png'; " -"md5=78bef92c36a140ad042074f6345d8917" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; " -"md5=29a51caaf09c3d6e3f0fda73c256a17a" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_1_admin_token.png'; " -"md5=29a51caaf09c3d6e3f0fda73c256a17a" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"keystone_2_register_admin_tenant_yes_no.png'; " -"md5=25c9a90b1df2d979aae6ce9975c7285b" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"keystone_2_register_admin_tenant_yes_no.png'; " -"md5=25c9a90b1df2d979aae6ce9975c7285b" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; " -"md5=173cf7ed13252df1425109be588b2ad6" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_3_admin_user_name.png'; " -"md5=173cf7ed13252df1425109be588b2ad6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; " -"md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_4_admin_user_email.png'; " -"md5=b7f0d34350ccc0aa9ae4e766b7ac80c1" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; " -"md5=e6b32d8d80af90f07a66abc8fb256c84" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_5_admin_user_pass.png'; " -"md5=e6b32d8d80af90f07a66abc8fb256c84" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm." -"png'; md5=1fbf9223e4923c93030d53278d1771cc" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_6_admin_user_pass_confirm." -"png'; md5=1fbf9223e4923c93030d53278d1771cc" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; " -"md5=d24d84133bfee936267e79631a2666e6" -msgstr "" -"@@image: 'figures/debconf-screenshots/keystone_7_register_endpoint.png'; " -"md5=d24d84133bfee936267e79631a2666e6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; " -"md5=adf41c33778a691a560b7098908792db" -msgstr "" -"@@image: 'figures/debconf-screenshots/neutron_1_plugin_selection.png'; " -"md5=adf41c33778a691a560b7098908792db" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; " -"md5=5353ad857884a2d31847cf82efbdc6b6" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-host.png'; " -"md5=5353ad857884a2d31847cf82efbdc6b6" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; " -"md5=6385185200d20e96b6316ae15ae1255d" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-password.png'; " -"md5=6385185200d20e96b6316ae15ae1255d" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; " -"md5=33a3c1182e79ed65f1b1b63f2156792c" -msgstr "" -"@@image: 'figures/debconf-screenshots/rabbitmq-user.png'; " -"md5=33a3c1182e79ed65f1b1b63f2156792c" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_password.png'; " -"md5=0c30c80315d5e636dbe93a938fc2822b" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_password.png'; " -"md5=0c30c80315d5e636dbe93a938fc2822b" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_tenant_name.png'; " -"md5=a935563e4fba9b00040e35cdcfffc732" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_admin_tenant_name.png'; " -"md5=a935563e4fba9b00040e35cdcfffc732" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_server_hostname.png'; " -"md5=aafd53894e1d960531d4901123952117" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_server_hostname.png'; " -"md5=aafd53894e1d960531d4901123952117" - -#. When image changes, this message will be marked fuzzy or untranslated for -#. you. -#. It doesn't matter what you translate it to: it's not used at all. -msgid "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_tenant_admin_user.png'; " -"md5=fe3dc93c591b3e9783d4d05556efcf25" -msgstr "" -"@@image: 'figures/debconf-screenshots/" -"service_keystone_authtoken_tenant_admin_user.png'; " -"md5=fe3dc93c591b3e9783d4d05556efcf25" - -msgid "" -"A flavor specifies a virtual resource allocation profile which includes " -"processor, memory, and storage." -msgstr "一个实例指定了虚拟机资源的大致分配,包括处理器、内存和存储。" - -msgid "" -"A single disk partition on each node works for most basic installations. " -"However, you should consider Logical Volume Manager (LVM) for installations with optional services such as Block Storage." -msgstr "" -"每个节点配置一个磁盘分区适用于大多数的基本安装。但是,对于有额外的服务如块存" -"储服务的安装,你应该考虑采用逻辑卷管理Logical Volume Manager " -"(LVM)。" - -msgid "" -"A virtual router passes network traffic between two or more virtual " -"networks. Each router requires one or more interfaces and/or gateways that provide access to specific " -"networks. In this case, you create a router and attach your tenant and " -"external networks to it." -msgstr "" -"虚拟路由在两个或多个虚拟网络之间传递网络数据。每个路由需要一个或多个" -"接口和/或提供到指定网络连接的网" -"关。在如下部分,您将创建一个路由然后将您的租户网络和外部网络连接到其上。" - -msgid "ADMIN_PASS" -msgstr "ADMIN_PASS" - -msgid "ADMIN_TOKEN" -msgstr "ADMIN_TOKEN" - -msgid "" -"Ability to take periodic \"snap shots\" throughout the installation process " -"and \"roll back\" to a working configuration in the event of a problem." -msgstr "" -"在安装过程中定期进行“快照”并且在遇到问题时可以“回滚”到上一个可工作配置的能" -"力。" - -msgid "" -"Access the dashboard using a web browser: http://" -"controller/horizonhttps://controller/http://controller/dashboardhttp://controller." -msgstr "" -"使用 web 浏览器访问仪表板: http://controller/horizonhttps://controller/http://controller/dashboardhttp://" -"controller。" - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network and use the command to verify presence of " -"the volume as the /dev/vdb block storage device:" -msgstr "" -"使用 SSH 通过控制节点或任意主机的外部网络访问实例,并使用 命" -"令来验证卷是否以 /dev/vdb 的块设备存储存在:" - -msgid "" -"Access your instance using SSH from the controller node or any host on the " -"external network:" -msgstr "通过控制节点或任意外部网络上的主机使用 SSH 访问您的实例:" - -msgid "Account ring" -msgstr "帐户 ring" - -msgid "Add Object Storage" -msgstr "添加对象存储" - -msgid "" -"Add a [database] section, and configure database access:" -msgstr "添加一个 [database] 的部分,并配置数据库的访问:" - -msgid "Add a networking component" -msgstr "添加网络组件" - -msgid "" -"Add a port to the external bridge that connects to the physical external " -"network interface:" -msgstr "给一个连接到物理外部网络接口的外部桥接添加端口:" - -msgid "Add each storage node to the ring:" -msgstr "添加每个节点到 ring 中:" - -msgid "Add rules to the default security group:" -msgstr "添加规则到 default 安全组中:" - -msgid "" -"Add the ResellerAdmin role to the service tenant and ceilometer user:" -msgstr "" -"将 ResellerAdmin 角色添加到 service 租" -"户并赋予给 ceilometer 用户:" - -msgid "" -"Add the admin role to the admin " -"project and user:" -msgstr "添加admin角色给admin项目和用户;" - -msgid "" -"Add the admin role to the ceilometer " -"user." -msgstr "" -"为 ceilometer 用户添加 admin 角色。" - -msgid "" -"Add the admin role to the cinder user:" -msgstr "给 cinder 用户添加 admin 角色:" - -msgid "" -"Add the admin role to the glance user " -"and service project:" -msgstr "" -"为 glance 用户和 service 项目添加 " -"admin 角色:" - -msgid "" -"Add the admin role to the heat user:" -msgstr "为heat用户添加admin角色:" - -msgid "" -"Add the admin role to the neutron user:" -msgstr "为 neutron 用户添加 admin 角色:" - -msgid "" -"Add the admin role to the nova user:" -msgstr "为 nova 用户添加 admin 角色:" - -msgid "" -"Add the admin role to the sahara user:" -msgstr "给sahara 用户赋予admin 角色:" - -msgid "" -"Add the admin role to the swift user:" -msgstr "为swift用户添加admin角色:" - -msgid "" -"Add the admin role to the trove user:" -msgstr "为 trove用户添加admin角色:" - -msgid "" -"Add the heat_stack_owner role to the demo tenant and user:" -msgstr "" -"为 demo 租户和用户添加 heat_stack_owner 角色:" - -msgid "Add the openstack user:" -msgstr "添加openstack用户:" - -msgid "" -"Add the swift system user to the ceilometer system group to permit access to the Telemetry configuration files " -"by the Object Storage service:" -msgstr "" -"添加 swift 的系统用户到 ceilometer 的系" -"统组中,以允许通过对象存储服务访问 Telemetry 的配置文件:" - -msgid "" -"Add the user role to the demo project " -"and user:" -msgstr "添加user角色到 demo 项目和用户:" - -msgid "Add the Block Storage service" -msgstr "添加块设备存储服务" - -msgid "Add the Compute service" -msgstr "添加 Compute 服务" - -msgid "Add the Data processing service" -msgstr "添加数据处理服务" - -msgid "Add the Database service" -msgstr "添加数据库服务" - -msgid "Add the Identity service" -msgstr "添加身份认证服务" - -msgid "Add the Image service" -msgstr "添加镜像服务" - -msgid "Add the Orchestration module" -msgstr "添加 Orchestration 模块" - -msgid "Add the Telemetry module" -msgstr "添加 Telemetry 模块" - -msgid "Add the dashboard" -msgstr "添加仪表盘(dashboard)" - -msgid "Add the external bridge:" -msgstr "添加外部桥接:" - -msgid "Add the following lines to trove-guestagent.conf:" -msgstr "添加下列几行到 trove-guestagent.conf 文件中:" - -msgid "Add the public key to your OpenStack environment:" -msgstr "添加公钥到您的 OpenStack 环境中:" - -msgid "Additional compute nodes should use 10.0.0.32, 10.0.0.33, and so on." -msgstr "另外的计算节点应使用 10.0.0.32、10.0.0.33 等等。" - -msgid "Additional compute nodes should use 10.0.1.32, 10.0.1.33, and so on." -msgstr "附加的计算节点需要使用10.0.1.32, 10.0.1.33等等。" - -msgid "Adjust ownership and permissions on this directory and the files in it:" -msgstr "调整这个目录及其中文件的所有者和权限:" - -msgid "After you create this file, run this command:" -msgstr "当创建这个文件后,运行下面命令:" - -msgid "" -"After you install and configure the dashboard, you can complete the " -"following tasks:" -msgstr "安装和配置好仪表板后,您可以完成以下任务:" - -msgid "" -"All Debian packages for API services, except the heat-api " -"package, register the service in the Identity Service catalog. This feature " -"is helpful because API endpoints are difficult to remember." -msgstr "" -"所有的API服务的Debian包,除了heat-api包,都注册在Identity" -"服务目录中。这很有帮助,因为API端点很难被记住。" - -msgid "" -"All OpenStack packages are written in Python. All packages support version " -"2.7; porting to Python version 3 is ongoing. Note that Debian Wheezy uses " -"Python 2.6 and 2.7, with Python 2.7 as the default interpreter; Sid has only " -"Python 2.7. There is one packaging change between these two. In Python 2.6, " -"you installed the python-argparse package separately. In " -"Python 2.7, this package is installed by default. Unfortunately, in Python " -"2.7, this package does not include Provides: python-argparse " -"directive." -msgstr "" -"所有的OpenStack包都是使用Python完成的。所有的包都支持2.7版本;针对Python 3 的" -"移植正在进行。注意Debian Wheezy使用Python 2.6和2.7,默认解释器是Python 2.7;" -"Sid仅有Python 2.7.在两个版本中间有一个包变化。在Python 2.6中,你需要单独安装" -"python-argparse包。在Python 2.7中,这个包已经默认安装了。" -"不幸的是,在Python 2.7中,这个包未包含 Provides: python-argparse" -"指令。" - -msgid "" -"All configuration files should be placed at the /etc/trove directory. Edit the following configuration files, taking the " -"below actions for each file:" -msgstr "" -"所有的配置文件应该放在 /etc/trove 目录下。编辑下列配置文" -"件,为每个文件执行下列操作:" - -msgid "Allow all hosts to access the dashboard:" -msgstr "允许所有主机访问仪表板:" - -msgid "" -"Also add this content to the /etc/hosts file on all " -"other nodes in your environment." -msgstr "" -"也要将这些内容添加到您环境中所有其他主机的 /etc/hosts 文" -"件中。" - -msgid "" -"Alternatively, if you do not want to install this package, run this script " -"to enable remote root access:" -msgstr "或者,如果你没有安装这个包,运行下面脚本,启用远程root访问:" - -msgid "" -"Although most environments include Identity, Image service, Compute, at " -"least one networking service, and the dashboard, the Object Storage service " -"can operate independently. If your use case only involves Object Storage, " -"you can skip to after configuring the " -"appropriate nodes for it. However, the dashboard requires at least the Image " -"service and Compute." -msgstr "" -"尽管大部分环境都包括身份认证服务、镜像服务、计算服务、至少一个网络服务以及仪" -"表板,对象存储服务却是可以独立操作的。如果您使用的案例只涉及到对象存储,您可" -"以在配置好合适的节点之后跳转到 。但是,仪表板需要" -"至少一个镜像服务和计算服务。" - -msgid "" -"Another way to disable the debconf package is to prefix the command with " -"DEBIAN_FRONTEND=noninteractive, as follows:" -msgstr "" -"另外禁用debconf包的方法是在命令" -"之前加上DEBIAN_FRONTEND=noninteractive,如" -"下所示:" - -msgid "" -"Any given Networking set up has at least one external network. Unlike the " -"other networks, the external network is not merely a virtually defined " -"network. Instead, it represents a view into a slice of the physical, " -"external network accessible outside the OpenStack installation. IP addresses " -"on the external network are accessible by anybody physically on the outside " -"network. Because the external network merely represents a view into the " -"outside network, DHCP is disabled on this network." -msgstr "" -"任何给定的Networking设置至少有一个外部网络。不像其他的网络,外部网络不仅仅是" -"一个虚拟定义的网络。相反,它代表了一种OpenStack安装之外的能从物理的,外部的网" -"络访问的视图。外部网络上的IP地址能被任何物理接入外面网络的人所访问。因为外部" -"网络仅仅代表了进入外面网络的一个视图,网络上的DHCP是关闭的。" - -msgid "Architecture" -msgstr "构架" - -msgid "" -"As an example, here are screenshots from the cinder-common package:" -msgstr "例如,下图显示的是 cinder-common 包的截图:" - -msgid "" -"As the admin user, list projects to verify that the " -"admin user can execute CLI commands and that the Identity " -"service contains the projects created by the configuration tool:" -msgstr "" -"作为admin用户,列出各项目来验证admin用" -"户可以执行命令行接口命令,还有身份认证服务中包含有通过配置工具生成的项目:" - -msgid "" -"As the admin user, list projects to verify that the " -"admin user can execute admin-only CLI commands and that " -"the Identity service contains the projects that you created in :" -msgstr "" -"作为admin用户,列出各项目来验证admin用" -"户可以执行限admin用户使用的命令行接口命令,还有身份认证服务中包含有你在 " -"中生成的项目:" - -msgid "" -"As the admin user, list roles to verify that the Identity " -"service contains the role created by the configuration tool:" -msgstr "" -"作为 admin用户,列出所有角色验证认证服务包含你为配置工具创" -"建的角色:" - -msgid "" -"As the admin user, list roles to verify that the Identity " -"service contains the role that you created in :" -msgstr "" -"作为 the admin 用户,列出所有角色验证认证服务包含你为 " -"创建的角色:" - -msgid "" -"As the admin user, list users to verify that the Identity " -"service contains the users created by the configuration tool:" -msgstr "" -"使用 admin 用户,列出用户以验证身份认证服务包含您使用配置" -"工具所创建的用户:" - -msgid "" -"As the admin user, list users to verify that the Identity " -"service contains the users that you created in :" -msgstr "" -"作为admin用户,列出各用户来验证身份认证服务包含有你在" -"生成的用户:" - -msgid "" -"As the admin user, request an authentication token from " -"the Identity version 2.0 API:" -msgstr "" -"作为admin用户,通过Identity2.0版API请求一个认证令牌:" - -msgid "" -"As the demo user, attempt to list users to verify that it " -"cannot execute admin-only CLI commands:" -msgstr "" -"作为demo 用户,尝试列出用户以验证它不能执行只有管理员能执行" -"的命令行:" - -msgid "" -"As the demo user, request an authentication token from " -"the Identity version 3 API:" -msgstr "作为 demo用户,从认证3.0 AP请求一个认证令牌:" - -msgid "Assigned during package installation" -msgstr "在包安装过程中分配" - -msgid "Associate the floating IP address with your instance:" -msgstr "将浮动 IP 地址与您的实例关联:" - -msgid "" -"Assuming you have created an image for the type of database you want, and " -"have updated the datastore to use that image, you can now create a trove " -"instance (Database service). To do this, use the trove " -"command." -msgstr "" -"假设您已经创建了一个您要使用的数据库类型的镜像,并已经更新数据存储以使用该镜" -"像,您现在可以创建一个 Trove 实例 (数据库) 了。要实现创建,请使用 trove 的 " -" 命令。" - -msgid "" -"Attach the demo-volume1 volume to the demo-" -"instance1 instance:" -msgstr "" -"附件卷 demo-volume1demo-instance1 " -"实例:" - -msgid "Attach the router to the demo tenant subnet:" -msgstr "附加路由给 demo 租户子网:" - -msgid "Attach the router to the external network by setting it as the gateway:" -msgstr "通过将路由设置为网关来将路由附加给外部网络:" - -msgid "" -"Authenticate using admin or demo user " -"credentials." -msgstr "" -"使用 admindemo 用户证书进行认证。" - -msgid "" -"Back-end names are arbitrary. As an example, this guide uses the name of the " -"driver as the name of the back end." -msgstr "后端名字是任意的。比如,本教程使用驱动的名字作为后端的名字。" - -msgid "Basic environment" -msgstr "基本环境" - -msgid "" -"Because most OpenStack services must access the Identity Service, you must " -"configure the IP address of the keystone server to be able to " -"access it. You must also configure the admin_tenant_name, " -"admin_user, and admin_password options for each " -"service to work." -msgstr "" -"因为大多数OpenStack服务必须访问身份服务,你必须为 keystone服务器" -"配置IP地址使得它可以被访问。你必须为每个服务配置admin_tenant_nameadmin_useradmin_password,以确保他们正确运" -"行。" - -msgid "" -"Because the packages are maintained in Sid where the Provides: python-" -"argparse directive causes an error, and the Debian OpenStack " -"maintainer wants to maintain one version of the OpenStack packages, you must " -"manually install the python-argparse on each OpenStack " -"system that runs Debian Wheezy before you install the other OpenStack " -"packages. Use the following command to install the package:" -msgstr "" -"因为OpenStack包只在Sid中被维护,而Provides: python-argparse的缺" -"少会导致错误,而Debian OpenStack的维护者只希望维护一个版本的OpenStack包,所以" -"在安装OpenStack包之前,你必须在每个运行Debian Wheezy的OpenStack节点上手动安装" -"python-argparse。使用下面命令安装这个包:" - -msgid "" -"Because this configuration uses a SQL database server, you can remove the " -"SQLite database file:" -msgstr "而下面的配置将使用 SQL 数据库服务,可以删除该 SQLite 数据库文件:" - -msgid "" -"Before launching your first instance, you must create the necessary virtual " -"network infrastructure to which the instance will connect. This network " -"typically provides Internet access from instances. You " -"can enable Internet access to individual instances " -"using a floating IP address and suitable " -"security group rules. The admin " -"tenant owns this network because it provides external network access for " -"multiple tenants." -msgstr "" -"启动第一台实例之前,您必须创建必要的虚拟机基础设施以连接实例。该网络一般提供" -"通过实例访问 Internet。您可以通过一个浮动 IP " -"地址安全组规则启用 Internet 的访问" -"个别实例。admin 租户拥有这个网络," -"因为它为多个租户提供了外部网络的访问。" - -msgid "" -"Before launching your first instance, you must create the necessary virtual " -"network infrastructure to which the instances connect, including the external network and " -"tenant network. See " -". After creating " -"this infrastructure, we recommend that you verify connectivity and resolve any issues before " -"proceeding further. provides a basic architectural overview of the components that " -"Networking implements for the initial networks and shows how network traffic " -"flows from the instance to the external network or Internet." -msgstr "" -"启动您的第一台实例之前,您必须创建虚拟机要连接的必需的虚拟网络基础设施,包括" -"外部网络和租户网络。创建好这些基础设" -"施之后,我们建议您验证连接" -",并在继续执行之前解决出现的问题。 提供了一个组件的基本架构预览,网络实现了初始化网" -"络,并展示了网络如何 从实例上流通到外部网络或内部网络中。" - -msgid "Before you begin" -msgstr "在你开始之前" - -msgid "" -"Before you configure the OpenStack Identity service, you must create a " -"database and an administration token." -msgstr "在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌。" - -msgid "" -"Before you configure the OpenStack Networking (neutron) service, you must " -"create a database, service credentials, and API endpoint." -msgstr "" -"配置 OpenStack 网络 (neutron) 服务之前,您必须创建一个数据库、服务证书和 API " -"端点。" - -msgid "" -"Before you install and configure OpenStack Networking, you must configure " -"certain kernel networking parameters." -msgstr "在安装和配置 OpenStack 网络之前,您必须配置某些内核网络参数。" - -msgid "" -"Before you install and configure Orchestration, you must create a database, " -"service credentials, and API endpoints." -msgstr "在您安装和配置Orchestration之前,您必须创建数据库、服务证书和API端点。" - -msgid "" -"Before you install and configure Telemetry, you must install " -"MongoDB, create a MongoDB database, service " -"credentials, and API endpoint." -msgstr "" -"安装和配置 Telemetry 之前,您必须先安装 MongoDB," -"创建一个 MongoDB 数据库、服务证书和 API 端点。" - -msgid "" -"Before you install and configure Telemetry, you must install " -"MongoDB." -msgstr "" -"安装和配置 Telemetry 之前,您必须先安装 MongoDB。" - -msgid "" -"Before you install and configure the Block Storage service, you must create " -"a database, service credentials, and API endpoint." -msgstr "在你安装和配置块存储服务之前,你必须创建数据库、服务证书和API端点" - -msgid "" -"Before you install and configure the Compute service, you must create a " -"database, service credentials, and API endpoint." -msgstr "" -"在您安装和配置 Compute 服务之前,您必须创建数据库、服务证书和 API 入口点。" - -msgid "" -"Before you install and configure the Image service, you must create a " -"database, service credentials, and API endpoint." -msgstr "安装和配置镜像服务之前,你必须创建创建一个数据库、服务凭证和API端点。" - -msgid "" -"Before you proceed, ensure that the controller node has at least several " -"gigabytes of space available in this directory." -msgstr "继续进行之前,确认控制节点的该目录有至少几千兆字节的可用空间。" - -msgid "" -"By default in Debian, you can access the MySQL server from either localhost " -"through the socket file or 127.0.0.1. To access it over the network, you " -"must edit the /etc/mysql/my.cnf file, and the " -"mysql.user table. To do so, Debian provides a helper " -"script in the openstack-deploy package. To use it, " -"install the package and run:" -msgstr "" -"默认情况下,在 Debian 中,您可以从本地通过 socket 文件或 127.0.0.1 访问 " -"MySQL 服务器。要想通过网络访问它,您必须修改 /etc/mysql/my.cnf 文件和 mysql.user 表。要完成上述操作,Debian 在 " -"openstack-deploy 包中提供了一个帮助脚本。要使用这个脚本," -"请安装包并执行:" - -msgid "" -"By default, dbconfig-common does not provide access to " -"database servers over a network. If you want the dbconfig-common package to prompt for remote database servers that are accessed " -"over a network and not through a UNIX socket file, reconfigure it, as " -"follows:" -msgstr "" -"缺省的, dbconfig-common没有提供到网络数据库服务器的访问。" -"如果你希望dbconfig-common包能够支持远程数据库服务器的配" -"置,通过网络访问,而不是通过UNIX socket文件,重新配置它,如下所示:" - -msgid "" -"By default, Compute uses an internal firewall service. Since Networking " -"includes a firewall service, you must disable the Compute firewall service " -"by using the nova.virt.firewall.NoopFirewallDriver " -"firewall driver." -msgstr "" -"默认情况下,Compute 使用内部的防火墙服务。由于 Networking 包含了一个防火墙服" -"务,您必须使用 nova.virt.firewall.NoopFirewallDriver 防火" -"墙驱动来禁用 Compute 的防火墙服务。" - -msgid "" -"By default, MongoDB creates several 1GB journal files in the /var/lib/" -"mongodb/journal directory. If you want to reduce the size of each journal " -"file to 128MB and limit total journal space consumption to 512MB, assert the " -"smallfiles key:" -msgstr "" -"默认情况下,MongoDB 会在 /var/lib/mongodb/journal 目录下创建一些 1GB 的 " -"journal 文件。如果您像缩小每个 journal 文件的大小为 128M 并限制总的 journal " -"空间使用为 512M,请使 smallfiles key 生效:" - -msgid "" -"By default, SLES and openSUSE use a SQL database for session storage. For " -"simplicity, we recommend changing the configuration to use " -"memcached for session storage." -msgstr "" -"默认情况下,SLES 和 openSUSE 为会话存储使用 SQL 数据库。简单起见,我们建议修" -"改配置,为会话存储使用 memcached。" - -msgid "" -"By default, distribution packages configure Compute to use legacy " -"networking. You must reconfigure Compute to manage networks through " -"Networking." -msgstr "" -"默认情况下,发行版的包会配置 Compute 使用传统网络。您必需重新配置 Compute 来" -"通过 Networking 来管理网络。" - -msgid "" -"By default, the dbconfig-common package configures the " -"OpenStack services to use SQLite. So if you use debconf " -"in non-interactive mode and without pre-seeding, the OpenStack services that " -"you install will use SQLite." -msgstr "" -"默认情况下,dbconfig-common 的包将 OpenStack 服务配置为使" -"用 SQLite。因此,如果您使用的是 debconf 的非交互模式且没有" -"进行预先配置,那么您安装 OpenStack 服务时将会使用 SQLite。" - -msgid "" -"By default, the Identity service database contains no information to support " -"conventional authentication and catalog services. You must use a temporary " -"authentication token that you created in to initialize the service entity and API endpoint for the Identity service." -msgstr "" -"缺省情况下,认证服务数据库不包含支持通用的认证和目录服务的信息。您必须使用一" -"个 中创建临时的认证令牌为认证服务初始化" -"服务实体和API端点。" - -msgid "" -"By default, the Identity service stores expired tokens in the SQL database " -"indefinitely. The accumulation of expired tokens considerably increases the " -"database size and degrades performance over time, particularly in " -"environments with limited resources." -msgstr "" -"身份认证服务默认情况会在SQL数据库中永久保存已经过期的身份凭证。过期凭证的积累" -"会增加数据库的体积甚至减低整个服务的性能,特别是在那些资源紧缺的环境中。" - -msgid "By default, the Ubuntu packages create a SQLite database." -msgstr "Ubuntu 软件包默认会创建一个 SQLite 数据库。" - -msgid "By default, the Ubuntu packages create an SQLite database." -msgstr "默认情况下,Ubuntu 上的安装包会自动创建一个 SQLite 数据库。" - -msgid "" -"By default, the Ubuntu packages create an SQLite database. Because this " -"configuration uses a SQL database server, remove the SQLite database file:" -msgstr "" -"默认情况下,Ubuntu 包会创建一个 SQLite 数据库。因为该配置要使用一个 SQL 的数" -"据库服务器,因此要移除 SQLite 数据库文件:" - -msgid "" -"By default, the controller node synchronizes the time via a pool of public " -"servers. However, you can optionally edit the /etc/ntp.conf file to configure alternative servers such as those provided by " -"your organization." -msgstr "" -"默认情况下,控制节点通过有个公共服务器的池来同步时间。但是,您也可以选择修改" -"配置文件 /etc/ntp.conf 来配置选择的服务器,例如,您的组" -"织中自行提供的服务器。" - -msgid "CEILOMETER_DBPASS" -msgstr "CEILOMETER_DBPASS" - -msgid "CEILOMETER_PASS" -msgstr "CEILOMETER_PASS" - -msgid "CINDER_DBPASS" -msgstr "CINDER_DBPASS" - -msgid "CINDER_PASS" -msgstr "CINDER_PASS" - -msgid "CentOS and Fedora do not require these repositories." -msgstr "Centos和Fedora不需要这些仓库:" - -msgid "Change to the /etc/swift directory." -msgstr "切换到/etc/swift目录。" - -msgid "Check the status of your floating IP address:" -msgstr "检查这个浮动 IP 地址的状态:" - -msgid "Check the status of your instance:" -msgstr "检查实例的状态:" - -msgid "Choose a suitable password for the database root account." -msgstr "为数据库用户 root 设置适当的密码。" - -msgid "" -"Comment out any auth_host, auth_port, " -"and auth_protocol options because the " -"identity_uri option replaces them." -msgstr "" -"注释所有 auth_hostauth_port 和 " -"auth_protocol 选项,因为 identity_uri " -"已经包括了它们。" - -msgid "Comment out any other session storage configuration." -msgstr "将其他的会话存储服务配置注释。" - -msgid "" -"Comment out or remove all but one server key and change " -"it to reference the controller node." -msgstr "" -"注释或删除除了 server 之外的所有关键字,并将其修改为引用控" -"制节点。" - -msgid "" -"Comment out or remove any other options in the [filter:authtoken] section." -msgstr "注释掉或移除 [filter:authtoken]段的任何其它选项." - -msgid "" -"Comment out or remove any other options in the " -"[keystone_authtoken] section." -msgstr "注释掉或移除 [keystone_authtoken]段的任何其它选项." - -msgid "Complete OpenStack environments already include some of these packages." -msgstr "完整的 OpenStack 环境已经包含了这些包的其中一部分。" - -msgid "Compute Node: 1 processor, 2 GB memory, and 10 GB storage" -msgstr "计算节点: 1 处理器, 2 GB 内存, 及10 GB 存储" - -msgid "Compute node" -msgstr "计算节点" - -msgid "Conceptual architecture" -msgstr "概念架构" - -msgid "" -"Configure user as the default role for users that you " -"create via the dashboard:" -msgstr "配置user 为通过控制面板创建的用户的缺省角色:" - -msgid "Configure OpenStack with debconf" -msgstr "使用debconf配置OpenStack" - -msgid "Configure compute node" -msgstr "配置计算节点" - -msgid "Configure controller node" -msgstr "配置控制节点" - -msgid "Configure hashes and default storage policy" -msgstr "配置哈希和默认的存储策略" - -msgid "Configure shared items on both storage nodes:" -msgstr "在两个节点上都配置共享的 item:" - -msgid "" -"Configure the memcached session storage service:" -msgstr "配置 memcached 会话存储服务:" - -msgid "" -"Configure the bind_ip key to use the management interface " -"IP address of the controller node." -msgstr "" -"配置 bind_ip 关键字以使用控制节点的管理网络接口的 IP 地" -"址。" - -msgid "Configure the Block Storage service" -msgstr "配置块设备存储服务" - -msgid "Configure the Compute service" -msgstr "配置 Compute 服务" - -msgid "Configure the Compute service to send notifications to the message bus." -msgstr "配置计算服务以便发送通知到消息总线。" - -msgid "" -"Configure the Database service to use the RabbitMQ message broker by setting " -"the following options in the [DEFAULT] configuration " -"group of each file:" -msgstr "" -"配置数据库模块,通过设置下列每个文件的 [DEFAULT] 配置组中" -"的选项来使用 RabbitMQ 的消息 broker:" - -msgid "Configure the Image service" -msgstr "配置镜像服务" - -msgid "Configure the Object Storage service" -msgstr "配置对象存储服务" - -msgid "Configure the authentication token:" -msgstr "配置认证令牌:" - -msgid "" -"Configure the dashboard to use OpenStack services on the " -"controller node:" -msgstr "在控制节点上配置仪表板以使用 OpenStack 服务:" - -msgid "Configure the database with dbconfig-common" -msgstr "用dbconfig-common配置数据库" - -msgid "Configure the endpoint URL:" -msgstr "配置端点URL:" - -msgid "Configure the first interface as the management interface:" -msgstr "将第一个接口配置为管理网络接口:" - -msgid "Configure the initial administration token:" -msgstr "初始化管理员身份令牌:" - -msgid "Configure the management interface:" -msgstr "配置管理网络接口:" - -msgid "" -"Configure the network and compute nodes to reference the controller node." -msgstr "配置网络节点和计算节点以引用控制节点。" - -msgid "Configure the second interface as the instance tunnels interface:" -msgstr "将第二个接口配置为实例的隧道网络接口:" - -msgid "Configure the web server:" -msgstr "配置 web 服务器:" - -msgid "Configure unique items on the first storage node:" -msgstr "在第一个存储节点上配置唯一的 item:" - -msgid "Configure unique items on the second storage node:" -msgstr "在第二个存储节点上配置唯一的 item:" - -msgid "Confirm upload of the image and validate attributes:" -msgstr "确认镜像的上传并验证属性:" - -msgid "Container ring" -msgstr "容器 ring" - -msgid "" -"Contents in the condition column should indicate " -"sys.peer for at least one server." -msgstr "" -"condition 这一列的内容应该填写至少一台服务器的 " -"sys.peer。" - -msgid "" -"Contents in the condition column should indicate " -"sys.peer." -msgstr "" -"condition 这一列的内容应该填写 sys.peer。" - -msgid "" -"Contents in the refid column typically reference IP " -"addresses of upstream servers." -msgstr "" -"refid 这一列的内容一般关联到上游服务器的 IP 地址。" - -msgid "" -"Contents in the remote column should indicate the " -"hostname of the controller node." -msgstr "remote 这一列的内容应该填写控制节点的主机名。" - -msgid "" -"Contents in the remote column should indicate the " -"hostname or IP address of one or more NTP servers." -msgstr "" -"remote 这一列的内容应该填写一个或多个 NTP 服务器的主机名" -"或 IP 地址。" - -msgid "Controller Node: 1 processor, 2 GB memory, and 5 GB storage" -msgstr "控制节点: 1 处理器, 2 GB 内存, 及5 GB 存储" - -msgid "Controller node" -msgstr "控制节点服务器" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1212900. -msgid "" -"Copy the /usr/share/cinder/cinder-dist.conf file to " -"/etc/cinder/cinder.conf." -msgstr "" -"复制 /usr/share/cinder/cinder-dist.conf 文件为" -"/etc/cinder/cinder.conf。" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1213476. -msgid "" -"Copy the /usr/share/heat/heat-dist.conf file to " -"/etc/heat/heat.conf." -msgstr "" -"复制/usr/share/heat/heat-dist.conf/etc/heat/" -"heat.conf。" - -msgid "" -"Copy the account.ring.gz, container.ring.gz, and object.ring.gz files to the /" -"etc/swift directory on each storage node and any additional nodes " -"running the proxy service." -msgstr "" -"复制 account.ring.gzcontainer.ring.gzobject.ring.gz 文件到每个存储节点和其他运行" -"了代理服务的额外节点的 /etc/swift 目录下:" - -msgid "" -"Copy the swift.conf file to the /etc/swift directory on each storage node and any additional nodes running the " -"proxy service." -msgstr "" -"复制 swift.conf 文件到每个存储节点和其他运行了代理服务的" -"额外节点的 /etc/swift 目录下:" - -msgid "" -"Copy the WSGI components from the upstream repository into this directory:" -msgstr "从上游仓库拷贝WSGI组件到这个目录:" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node and add the following to it:" -msgstr "" -"从控制节点上复制 /etc/hosts 文件的内容并添加下列内容:" - -msgid "" -"Copy the contents of the /etc/hosts file from the " -"controller node to the storage node and add the following to it:" -msgstr "" -"从控制节点上复制 /etc/hosts 文件的内容到存储节点上,并将" -"下列内容添加到其中:" - -msgid "Copyright details are filled in by the template." -msgstr "版权信息来自于模板" - -msgid "Create OpenStack client environment scripts" -msgstr "创建 OpenStack 客户端环境脚本" - -msgid "Create a 1 GB volume:" -msgstr "创建一个 1 GB 的卷:" - -msgid "" -"Create a floating IP address on the ext-net external network:" -msgstr "" -"在 ext-net 外部网络上创建一个 浮动 IP 地址:" - -msgid "Create a cinder user:" -msgstr "创建 cinder 用户:" - -msgid "" -"Create a datastore. You need to create a separate datastore for each type of " -"database you want to use, for example, MySQL, MongoDB, Cassandra. This " -"example shows you how to create a datastore for a MySQL database:" -msgstr "" -"创建一个数据库。您需要为每个您想使用的类型的数据库创建一个分离的数据存储,例" -"如,MySQL、MongoDB、Cassandra。这个例子将向您展示如何为一个 MySQL 数据库创建" -"数据存储:" - -msgid "Create a temporary local directory:" -msgstr "创建一个临时本地目录:" - -msgid "" -"Create a test template in the test-stack.yml file with " -"the following content:" -msgstr "" -"在 test-stack.yml 文件中使用以下内容创建一个测试模板:" - -msgid "Create a trove image." -msgstr "创建trove镜像:" - -msgid "" -"Create an administrative project, user, and role for administrative " -"operations in your environment:" -msgstr "在你的环境中,为进行管理操作,创建管理的项目、用户和角色:" - -msgid "" -"Create an image for the type of database you want to use, for example, " -"MySQL, MongoDB, Cassandra." -msgstr "" -"为您要使用的类型的数据库创建一个镜像,例如,MySQL、MongoDB、Cassandra。" - -msgid "" -"Create and edit the /etc/my.cnf.d/mariadb_openstack.cnf " -"file and complete the following actions:" -msgstr "" -"创建并编辑文件 /etc/my.cnf.d/mariadb_openstack.cnf ,完" -"成以下操作:" - -msgid "" -"Create and edit the /etc/mysql/conf.d/mysqld_openstack.cnf file and complete the following actions:" -msgstr "" -"创建并编辑文件 /etc/mysql/conf.d/mysqld_openstack.cnf," -"然后完成以下操作:" - -msgid "" -"Create and edit the /etc/neutron/dnsmasq-neutron.conf " -"file and complete the following action:" -msgstr "" -"创建并修改文件 /etc/neutron/dnsmasq-neutron.conf,完成以" -"下操作:" - -msgid "" -"Create client environment scripts for the admin and " -"demo projects and users. Future portions of this guide " -"reference these scripts to load appropriate credentials for client " -"operations." -msgstr "" -"为 admindemo 租户及用户创建客户端环" -"境脚本。本指南的接下来的部分会与这些脚本相关,用以加载合适的客户端操作的认" -"证。" - -msgid "Create database schema: " -msgstr "创建数据库模式:" - -msgid "Create initial network" -msgstr "新建初始网络" - -msgid "Create initial networks" -msgstr "创建初始网络" - -msgid "Create initial rings" -msgstr "创建初始化的 rings" - -msgid "Create projects, users, and roles" -msgstr "创建项目、用户和角色" - -msgid "" -"Create the /etc/apache2/sites-available/wsgi-" -"keystone.conf/etc/httpd/conf." -"d/wsgi-keystone.conf/etc/apache2/" -"conf.d/wsgi-keystone.conf file with the following content:" -msgstr "" -"使用以下内容创建文件/etc/apache2/sites-available/" -"wsgi-keystone.conf/etc/httpd/" -"conf.d/wsgi-keystone.conf/etc/" -"apache2/conf.d/wsgi-keystone.conf :" - -msgid "Create the /etc/swift directory." -msgstr "创建/etc/swift目录。" - -msgid "Create the ResellerAdmin role:" -msgstr "创建 ResellerAdmin 角色:" - -msgid "Create the admin project:" -msgstr "创建 admin 项目:" - -msgid "Create the admin role:" -msgstr "创建 admin 角色:" - -msgid "Create the admin tenant and user:" -msgstr "创建 admin tenant和用户:" - -msgid "Create the admin user:" -msgstr "创建 admin 用户:" - -msgid "Create the ceilometer database:" -msgstr "创建ceilometer数据库:" - -msgid "Create the ceilometer service entity:" -msgstr "创建ceilometer服务条目:" - -msgid "Create the ceilometer user:" -msgstr "创建ceilometer用户:" - -msgid "Create the cinder database:" -msgstr "创建 cinder 数据库:" - -msgid "Create the cinder service entities:" -msgstr "创建 cinder 服务实体:" - -msgid "Create the demo project:" -msgstr "创建 demo 项目:" - -msgid "Create the demo user:" -msgstr "创建 demo 用户:" - -msgid "Create the glance database:" -msgstr "创建 glance 数据库:" - -msgid "Create the glance service entity:" -msgstr "创建 glance 服务实体:" - -msgid "Create the glance user:" -msgstr "创建 glance 用户:" - -msgid "" -"Create the heat and heat-cfn service " -"entities:" -msgstr "创建 heatheat-cfn 服务实体:" - -msgid "Create the heat database:" -msgstr "创建 heat 数据库:" - -msgid "Create the heat user:" -msgstr "创建heat用户:" - -msgid "Create the heat_stack_owner role:" -msgstr "创建heat_stack_owner角色:" - -msgid "Create the heat_stack_user role:" -msgstr "创建 heat_stack_user 角色:" - -msgid "Create the keystone database:" -msgstr "创建 keystone 数据库:" - -msgid "Create the neutron database:" -msgstr "创建 neutron 数据库:" - -msgid "Create the neutron service entity:" -msgstr "创建 neutron 服务实体:" - -msgid "Create the neutron user:" -msgstr "创建 neutron 用户:" - -msgid "Create the nova database:" -msgstr "创建 nova 数据库:" - -msgid "Create the nova service entity:" -msgstr "创建 nova 服务实体:" - -msgid "Create the nova user:" -msgstr "创建 nova 用户:" - -msgid "" -"Create the recon directory and ensure proper ownership of " -"it:" -msgstr "创建 recon 目录并确认它有合适的所有权:" - -msgid "Create the sahara database:" -msgstr "创建 sahara 数据库:" - -msgid "Create the sahara service entity:" -msgstr "创建 sahara 服务实体:" - -msgid "Create the sahara user:" -msgstr "创建sahara用户:" - -msgid "Create the service project:" -msgstr "创建 service项目:" - -msgid "Create the swift service entity:" -msgstr "创建 swift 服务实体:" - -msgid "Create the swift user:" -msgstr "创建 swift 用户:" - -msgid "Create the trove user:" -msgstr "创建 trove用户:" - -msgid "Create the user role:" -msgstr "创建user角色:" - -msgid "Create the Block Storage service API endpoints:" -msgstr "创建块存储服务的 API 入口点:" - -msgid "Create the Compute service API endpoint:" -msgstr "创建计算服务API端点:" - -msgid "Create the Data processing service API endpoint:" -msgstr "创建数据处理服务API端点:" - -msgid "Create the Database service API endpoint:" -msgstr "创建数据库服务API端点:" - -msgid "Create the Identity service API endpoint:" -msgstr "创建认证服务API端点:" - -msgid "Create the Identity service endpoints" -msgstr "创建身份认证的入口点" - -msgid "Create the Image service API endpoint:" -msgstr "创建镜像服务API端点:" - -msgid "Create the LVM physical volume /dev/sdb1:" -msgstr "创建LVM物理卷/dev/sdb1:" - -msgid "Create the LVM volume group cinder-volumes:" -msgstr "创建LVM卷组cinder-volumes:" - -msgid "Create the Networking service API endpoint:" -msgstr "创建网络服务API端点:" - -msgid "Create the Object Storage service API endpoint:" -msgstr "创建对象存储服务的 API 端点:" - -msgid "Create the Orchestration service API endpoints:" -msgstr "创建 Orchestration 服务的 API 端点:" - -msgid "Create the Telemetry module API endpoint:" -msgstr "创建Telemetry模块API端点:" - -msgid "Create the base account.builder file:" -msgstr "创建基本的account.builder文件:" - -msgid "Create the base container.builder file:" -msgstr "生成基本的container.builder文件:" - -msgid "Create the base object.builder file:" -msgstr "生成基本的 object.builder文件:" - -msgid "Create the directory structure for the WSGI components:" -msgstr "创建WSGI组件的目录结构;" - -msgid "Create the heat domain in Identity service:" -msgstr "在认证服务中创建Heat域:" - -msgid "Create the mount point directory structure:" -msgstr "创建挂载点目录结构:" - -msgid "Create the network:" -msgstr "创建网络:" - -msgid "Create the router:" -msgstr "创建路由:" - -msgid "Create the service entity and API endpoint" -msgstr "创建服务实体和 API 端点" - -msgid "Create the service entity for the Identity service:" -msgstr "创建服务实体和身份认证服务:" - -msgid "Create the subnet:" -msgstr "创建子网:" - -msgid "DBNAME" -msgstr "DBNAME" - -msgid "DEMO_NET_ID" -msgstr "DEMO_NET_ID" - -msgid "DEMO_PASS" -msgstr "DEMO_PASS" - -msgid "DEVICE_NAME" -msgstr "DEVICE_NAME" - -msgid "DEVICE_WEIGHT" -msgstr "DEVICE_WEIGHT" - -msgid "" -"Database population occurs later for Networking because the script requires " -"complete server and plug-in configuration files." -msgstr "" -"数据库的同步发生在 Networking 之后,因为脚本需要完成服务器和插件的配置文件。" - -msgid "Debian 7" -msgstr "Debian 7" - -msgid "Debian does not use a separate ML2 plug-in package." -msgstr "Debian 不使用单独的 ML2 插件包。" - -msgid "" -"Default configuration files vary by distribution. You might need to add " -"these sections and options rather than modifying existing sections and " -"options. Also, an ellipsis (...) in the configuration snippets indicates " -"potential default configuration options that you should retain." -msgstr "" -"默认的配置文件根据不同发行版本而不同。有可能需要增加这些部分或是选项,而不是" -"修改现有的部分或是选项。另外,配置文件代码段中的省略号(...)表明这可能是你需要" -"保留的默认配置选项。" - -msgid "Default gateway: 10.0.0.1" -msgstr "默认网关: 10.0.0.1" - -msgid "" -"Depending on your network interface driver, you may need to disable " -"generic receive offload (GRO) to achieve suitable " -"throughput between your instances and the external network." -msgstr "" -"根据您的网络接口驱动,您可能需要禁用 generic receive offload " -"(GRO) 来实现您实例和外部网络之间的合适吞吐量。" - -msgid "Description" -msgstr "描述" - -msgid "" -"Determine whether your compute node supports hardware acceleration for " -"virtual machines:" -msgstr "确定您的计算节点是否支持虚拟机的硬件加速。" - -msgid "" -"Disable or remove any automatic update services because they can impact your " -"OpenStack environment." -msgstr "禁用或移除所有自动更新的服务,因为它们会影响到您的 OpenStack 环境。" - -msgid "" -"Disable the keystone service from " -"starting automatically after installation:" -msgstr "" -"安装后,禁用自动启动keystone 服" -"务。" - -msgid "Distribute ring configuration files" -msgstr "分发环配置文件" - -msgid "" -"Distributions release OpenStack packages as part of the distribution or " -"using other methods because of differing release schedules. Perform these " -"procedures on all nodes." -msgstr "" -"由于不同的发布日程,发行版发布 OpenStack 的包作为发行版的一部分,或使用其他方" -"式。请在所有节点上执行这些程序。" - -msgid "" -"Do not change the HWADDR and UUID keys." -msgstr "" -"不要修改 HWADDRUUID 关键字的内容。" - -msgid "" -"Do not explicitly start the neutron-ovs-" -"cleanup service." -msgstr "" -"请勿直接地启动 neutron-ovs-cleanup 服务。" - -msgid "" -"Do not repeat this step when creating additional users for this project." -msgstr "当为这个项目创建额外用户时,不要重复这一步。" - -msgid "Download a test file:" -msgstr "下载一个测试文件:" - -msgid "Download an image from the Image service:" -msgstr "从镜像服务下载一个映像:" - -msgid "Download the source image into it:" -msgstr "将源镜像下载到里面:" - -msgid "" -"Due to a packaging bug, the Open vSwitch agent initialization script " -"explicitly looks for the Open vSwitch plug-in configuration file rather than " -"a symbolic link /etc/neutron/plugin.ini pointing to the " -"ML2 plug-in configuration file. Run the following commands to resolve this " -"issue:" -msgstr "" -"由于一个包的缺陷,Open vSwitch 代理初始化脚本会寻找 Open vSwitch 插件的配置文" -"件,而不是指向 ML2 配置文件的象征性链接 /etc/neutron/plugin.ini。执行以下命令来解决这个问题:" - -msgid "" -"Due to a packaging bug, the dashboard CSS fails to load properly. Run the " -"following command to resolve this issue:" -msgstr "" -"由于一个包的 bug,仪表板的 CSS 会加载失败。可以执行以下命令来解决这个问题:" - -msgid "" -"During the final stage of the package installation, it is possible to " -"automatically create an admin tenant and an admin user. This can later be " -"used for other OpenStack services to contact the Identity service. This is " -"the equivalent of running the below commands:" -msgstr "" -"在安装包的最后一步,可以自动创建一个 admin 租户和一个 admin 用户。之后可以用" -"于 OpenStack 服务以与身份认证服务进行联系。这等效于执行以下命令:" - -msgid "EXTERNAL_NETWORK_CIDR" -msgstr "EXTERNAL_NETWORK_CIDR" - -msgid "EXTERNAL_NETWORK_GATEWAY" -msgstr "EXTERNAL_NETWORK_GATEWAY" - -msgid "" -"Each item in the filter array begins with a for " -"accept or r for reject and includes a regular expression for the device name. The array " -"must end with r/.*/ to reject any remaining devices. You " -"can use the command to test filters." -msgstr "" -"每个过滤器序列中的元素都以 a 开头,即为 accept,或以 r 开头,即为 reject," -"并好括一些设备名称的表示规则。您可以使用 命令来测试过滤器。" - -msgid "" -"Each plug-in that Networking uses has its own concepts. While not vital to " -"operating the VNI and OpenStack environment, understanding these concepts " -"can help you set up Networking. All Networking installations use a core plug-" -"in and a security group plug-in (or just the No-Op security group plug-in). " -"Additionally, Firewall-as-a-Service (FWaaS) and Load-Balancer-as-a-Service " -"(LBaaS) plug-ins are available." -msgstr "" -"每一个Networking使用的插件都有其自有的概念。虽然对操作VNI和OpenStack环境不是" -"至关重要的,但理解这些概念能帮助你设置Networking。所有的Networking安装使用了" -"一个核心插件和一个安全组插件(或仅是空操作安全组插件)。另外,防火墙即服务" -"(FWaaS)和负载均衡即服务(LBaaS)插件是可用的。" - -msgid "" -"Each router has one gateway that connects to a network, and many interfaces " -"connected to subnets. Subnets can access machines on other subnets connected " -"to the same router." -msgstr "" -"每个路由都有一个连接到网络的网关,并且很多接口都连接到子网中。子网可以访问其" -"他连接到相同路由其他子网的机器。" - -msgid "" -"Each service that you add to your OpenStack environment requires one or more " -"service entities and one API endpoint in the Identity service." -msgstr "" -"在认证服务中,您添加到OpenStack环境的每个服务需要一个或多个服务实体和一个API" -"端点。" - -msgid "Each user belongs to a user group with the same name as the user." -msgstr "每个用户都属于一个和用户同名的用户组。" - -msgid "Edit /etc/sahara/sahara.conf configuration file" -msgstr "修改配置文件 /etc/sahara/sahara.conf" - -msgid "" -"Edit the /etc/mongodb.conf/etc/mongod.conf " -"file and complete the following actions:" -msgstr "" -"编辑文件/etc/mongodb.conf/etc/mongod.conf,完" -"成以下动作:" - -msgid "" -"Edit the /etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf file and configure the ServerName option to " -"reference the controller node:" -msgstr "" -"编辑/etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf 文件,参考控制节" -"点配置ServerName 选项:" - -msgid "" -"Edit the /etc/mysql/my.cnf/etc/my.cnf file and change the max_allowed_packet option:" -msgstr "" -"修改配置文件 /etc/mysql/my.cnf/etc/my.cnf 并修改 max_allowed_packet 选项:" - -msgid "" -"Edit the /etc/keystone/keystone-paste." -"ini/usr/share/keystone/" -"keystone-dist-paste.ini file and remove " -"admin_token_auth from the [pipeline:public_api], [pipeline:admin_api], and [pipeline:" -"api_v3] sections." -msgstr "" -"编辑文件/etc/keystone/keystone-paste." -"ini/usr/share/keystone/" -"keystone-dist-paste.ini,从 [pipeline:public_api], [pipeline:admin_api], and [pipeline:" -"api_v3]中移除admin_token_auth 。" - -msgid "" -"Edit the /etc/ceilometer/ceilometer.conf file and " -"complete the following actions:" -msgstr "" -"修改配置文件 /etc/ceilometer/ceilometer.conf 并完成以下" -"操作:" - -msgid "" -"Edit the /etc/cinder/cinder.conf file and complete the " -"following actions:" -msgstr "编辑 /etc/cinder/cinder.conf 并完成下列操作:" - -msgid "" -"Edit the /etc/default/rsync file and enable the " -"rsync service:" -msgstr "" -"修改 /etc/default/rsync 文件并启用 rsync 服务:" - -msgid "" -"Edit the /etc/fstab file and add the following to it:" -msgstr "编辑 /etc/fstab 文件并添加下列内容:" - -msgid "" -"Edit the /etc/glance/glance-api.conf and /etc/" -"glance/glance-registry.conf files and complete the following " -"actions:" -msgstr "" -"修改配置文件 /etc/glance/glance-api.conf/" -"etc/glance/glance-registry.conf,并完成以下操作:" - -msgid "" -"Edit the /etc/glance/glance-api.conf file and complete " -"the following actions:" -msgstr "" -"修改配置文件 /etc/glance/glance-api.conf 并完成以下操" -"作:" - -msgid "" -"Edit the /etc/glance/glance-registry.conf file and " -"complete the following actions:" -msgstr "" -"修改配置文件 /etc/glance/glance-registry.conf 并完成以" -"下操作:" - -msgid "" -"Edit the /etc/heat/heat.conf file and complete the " -"following actions:" -msgstr "修改配置文件 /etc/heat/heat.conf 并完成以下操作:" - -msgid "Edit the /etc/hosts file to contain the following:" -msgstr "修改文件 /etc/hosts 并包含如下内容:" - -msgid "" -"Edit the /etc/keystone/keystone.conf file and complete " -"the following actions:" -msgstr "" -"编辑 /etc/keystone/keystone.conf ,并完成下列操作:" - -msgid "" -"Edit the /etc/mongodb.conf file and complete the " -"following actions:" -msgstr "修改配置文件 /etc/mongodb.conf 并完成以下操作:" - -msgid "" -"Edit the /etc/network/interfaces file to contain the " -"following:" -msgstr "修改配置 /etc/network/interfaces 包含如下内容:" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following action:" -msgstr "" -"修改配置文件 /etc/neutron/dhcp_agent.ini 并完成以下操" -"作:" - -msgid "" -"Edit the /etc/neutron/dhcp_agent.ini file and complete " -"the following actions:" -msgstr "" -"修改配置文件 /etc/neutron/dhcp_agent.ini 并完成以下操" -"作:" - -msgid "" -"Edit the /etc/neutron/l3_agent.ini file and complete " -"the following actions:" -msgstr "" -"修改配置文件 /etc/neutron/l3_agent.ini 并完成以下操作:" - -msgid "" -"Edit the /etc/neutron/metadata_agent.ini file and " -"complete the following actions:" -msgstr "" -"修改配置文件 /etc/neutron/metadata_agent.ini 并完成以下" -"操作:" - -msgid "" -"Edit the /etc/neutron/neutron.conf file and complete " -"the following actions:" -msgstr "" -"修改配置文件 /etc/neutron/neutron.conf 并完成以下操作:" - -msgid "" -"Edit the /etc/neutron/plugins/ml2/ml2_conf.ini file and " -"complete the following actions:" -msgstr "" -"修改配置文件 /etc/neutron/plugins/ml2/ml2_conf.ini 并完" -"成以下操作:" - -msgid "" -"Edit the /etc/nova/nova.conf file and complete the " -"following actions:" -msgstr "修改配置文件 /etc/nova/nova.conf 并完成如下操作:" - -msgid "" -"Edit the /etc/nova/nova.conf file and configure " -"notifications in the [DEFAULT] section:" -msgstr "" -"修改配置文件 /etc/nova/nova.conf 并在 " -"[DEFAULT] 部分配置消息机制:" - -msgid "" -"Edit the /etc/nova/nova.conf file on the controller " -"node and complete the following actions:" -msgstr "" -"修改控制节点上的配置文件 /etc/nova/nova.conf,并完成以下" -"操作:" - -msgid "" -"Edit the /etc/ntp.conf file and add, change, or remove " -"the following keys as necessary for your environment:" -msgstr "" -"修改配置文件 /etc/ntp.conf 并根据您环境的需要添加、修改" -"或删除以下关键字:" - -msgid "Edit the /etc/ntp.conf file:" -msgstr "修改配置文件 /etc/ntp.conf:" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings.py " -"file and complete the following actions:" -msgstr "" -"修改配置文件 /etc/openstack-dashboard/local_settings.py " -"并完成以下操作:" - -msgid "" -"Edit the /etc/openstack-dashboard/local_settings file " -"and complete the following actions:" -msgstr "" -"修改配置文件 /etc/openstack-dashboard/local_settings 并" -"完成以下操作:" - -msgid "" -"Edit the /etc/rsyncd.conf file and add the following to " -"it:" -msgstr "添加以下内容到/etc/rsyncd.conf文件中:" - -msgid "" -"Edit the /etc/swift/account-server.conf file and " -"complete the following actions:" -msgstr "" -"修改配置文件 /etc/swift/account-server.conf 并完成以下操" -"作:" - -msgid "" -"Edit the /etc/swift/container-server.conf file and " -"complete the following actions:" -msgstr "" -"修改配置文件 /etc/swift/container-server.conf 并完成以下" -"操作:" - -msgid "" -"Edit the /etc/swift/object-server.conf file and " -"complete the following actions:" -msgstr "" -"修改配置文件 /etc/swift/object-server.conf 并完成以下操" -"作:" - -msgid "" -"Edit the /etc/swift/proxy-server.conf file and complete " -"the following actions:" -msgstr "" -"修改配置文件 /etc/swift/proxy-server.conf 并完成以下步" -"骤:" - -msgid "" -"Edit the /etc/swift/swift.conf file and complete the " -"following actions:" -msgstr "" -"修改配置文件 /etc/swift/swift.conf 并完成以下操作:" - -msgid "" -"Edit the /etc/sysconfig/apache2 file and configure the " -"APACHE_SERVERNAME option to reference the controller node:" -msgstr "" -"编辑/etc/sysconfig/apache2 文件,参考控制节点配置" -"APACHE_SERVERNAME 选项:" - -msgid "" -"Edit the /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME file to contain the " -"following:" -msgstr "" -"修改配置文件 /etc/sysconfig/network-scripts/ifcfg-" -"INTERFACE_NAME 包含如下内容:" - -msgid "" -"Edit the /etc/sysconfig/network/ifcfg-INTERFACE_NAME file to contain the following:" -msgstr "" -"修改配置文件 /etc/sysconfig/network/ifcfg-" -"INTERFACE_NAME 包含如下内容:" - -msgid "" -"Edit the /etc/sysctl.conf file to contain the following " -"parameters:" -msgstr "" -"修改配置文件 /etc/sysctl.conf 以将下列参数包含其中:" - -msgid "" -"Edit the /srv/www/openstack-dashboard/openstack_dashboard/local/" -"local_settings.py file and complete the following actions:" -msgstr "" -"修改文件 /srv/www/openstack-dashboard/openstack_dashboard/local/" -"local_settings.py 并完成以下操作:" - -msgid "" -"Edit the admin-openrc.sh file and add the following " -"content:" -msgstr "编辑 admin-openrc.sh 文件并添加下列内容:" - -msgid "" -"Edit the demo-openrc.sh file and add the following " -"content:" -msgstr "编辑 demo-openrc.sh 文件并添加下列内容:" - -msgid "" -"Edit the trove-taskmanager.conf file so it includes the " -"required settings to connect to the OpenStack Compute service as shown below:" -msgstr "" -"修改 trove-taskmanager.conf 文件,使其包含需要的设置,以" -"连接到 OpenStack Compute 服务,如下文所示:" - -msgid "" -"Edit the trove.conf file so it includes appropriate " -"values for the default datastore and network label regex as shown below:" -msgstr "" -"修改 trove.conf 文件,使其包含默认数据存储和网络标签正则" -"表达式的合适的值,如下文所示:" - -msgid "" -"Edit the [DEFAULT] section of each file (except " -"api-paste.ini) and set appropriate values for the " -"OpenStack service URLs (can be handled by Keystone service catalog), logging " -"and messaging configuration. Edit the [database] section " -"in each file to add the SQL connections:" -msgstr "" -"编辑每个文件(除了api-paste.ini)的[DEFAULT] 部分,并为Openstack 服务URL(可由身份认证服务目录处理),日志和消息配" -"置合适的值。编辑每个文件的[database]部分,添加SQL连接:" - -msgid "" -"Edit the [libvirt] section in the /etc/nova/nova-compute.conf/etc/nova/nova.conf file as follows:" -msgstr "" -"根据以下内容修改 /etc/nova/nova-compute.conf/etc/nova/nova." -"conf[libvirt] 部分:" - -msgid "Enable the DHCP MTU option (26) and configure it to 1454 bytes:" -msgstr "启用 DHCP MTU 选项 (26) 并配置为 1454 字节:" - -msgid "Enable the Identity service virtual hosts:" -msgstr "开启认证服务虚拟主机:" - -msgid "" -"Enable the Open Build Service repositories based on your openSUSE or SLES " -"version:" -msgstr "基于您的 openSUSE 或 SLES 版本,启用 Open Build 服务仓库:" - -msgid "" -"Enable the Open Build Service repositories for MongoDB based on your " -"openSUSE or SLES version:" -msgstr "根据您的 openSUSE 或 SLES 版本为 MongoDB 启用 Open Build 服务仓库:" - -msgid "Ensure proper ownership of the mount point directory structure:" -msgstr "确认挂载点目录结构是否有合适的所有权:" - -msgid "Ensure the kernel module nbd is loaded." -msgstr "确保内核模块 nbd 已加载。" - -msgid "" -"Ensure the module will be loaded on every boot by adding nbd in the /etc/modules-load.d/nbd.conf file." -msgstr "" -"通过在/etc/modules-load.d/nbd.conf文件添加nbd确保每次启动时加载这个模块。" - -msgid "Example architectures" -msgstr "架构样例" - -msgid "Example for uploading rules for MySQL datastore:" -msgstr "MySQL 数据存储上传规则的例子:" - -msgid "Example using 192.168.1.0/24:" -msgstr "样例使用了 192.168.1.0/24:" - -msgid "Exit the database access client." -msgstr "退出数据库客户端。" - -msgid "External network" -msgstr "外部网络" - -msgid "External on 203.0.113.0/24 with gateway 203.0.113.1" -msgstr "外部通道使用 203.0.113.0/24 带有网关 203.0.113.1" - -msgid "FILE" -msgstr "文件" - -msgid "FLOATING_IP_END" -msgstr "FLOATING_IP_END" - -msgid "FLOATING_IP_START" -msgstr "FLOATING_IP_START" - -msgid "Fedora does not require this package." -msgstr "Fedora 不需要这个包。" - -msgid "Fedora does not require this repository." -msgstr "Fedora不需要这个仓库" - -msgid "Finalize installation" -msgstr "完成安装" - -msgid "" -"First, edit option in the [database] " -"section. The URL provided here should point to an empty database. For " -"instance, connection string for MySQL database will be: " -msgstr "" -"首先,编辑 [database] 段的 选项。此处的URL" -"应该指向一个空数据库。比如,MySQL数据库连接字符串应该是:" - -msgid "" -"For OpenStack services, this guide uses SERVICE_PASS to reference service account passwords and " -"SERVICE_DBPASS to reference database passwords." -msgstr "" -"对于 OpenStack 的服务,本指南使用 SERVICE_PASS 来" -"关联服务帐户的密码,用 SERVICE_DBPASS 来关联数据库" -"的密码。" - -msgid "" -"For best performance, we recommend that your environment meets or exceeds " -"the hardware requirements in or . However, OpenStack does not require a significant " -"amount of resources and the following minimum requirements should support a " -"proof-of-concept environment with core services and several " -"CirrOS instances:" -msgstr "" -"为得到最佳性能,我们建议你的环境达到或超过 所列出的硬件要求。但是,OpenStack并" -"不要求大量资源,满足以下的最小要求就可以支撑包含核心服务和几个" -"CirrOS实例的概念验证环境。" - -msgid "" -"For every package that must connect to a Messaging Server, the Debian " -"package enables you to configure the IP address for that server and the user " -"name and password that is used to connect. The following example shows " -"configuration with the ceilometer-common package:" -msgstr "" -"对于必须要连接消息服务器的包,Debian中的包允许你配置该服务器的IP地址,连接所" -"需的用户名和密码。如下例子展示了 ceilometer-" -"common这个包的配置:" - -msgid "" -"For example, using 203.0.113.0/24 with floating IP " -"address range 203.0.113.101 to 203.0.113.200:" -msgstr "" -"例如,使用 203.0.113.0/24 带有浮动IP地址 " -"203.0.113.101203.0.113.200:" - -msgid "" -"For example, using an exclusive slice of 203.0.113.0/24 " -"with IP address range 203.0.113.24 to " -"203.0.113.31:" -msgstr "" -"例如,使用一个IP地址为从203.0.113.24到 " -"203.0.113.31203.0.113.0/24的专有段:" - -msgid "" -"For security reasons, disable the temporary authentication token mechanism:" -msgstr "因为安全性的原因,关闭临时认证令牌机制:" - -msgid "" -"For security reasons, do not use the temporary authentication token for " -"longer than necessary to initialize the Identity service." -msgstr "" -"因为安全的原因,,除非做必须的认证服务初始化,不要长时间使用临时认证令牌。" - -msgid "" -"For simplicity, this guide describes configuring the Image service to use " -"the file back end, which uploads and stores in a " -"directory on the controller node hosting the Image service. By default, this " -"directory is /var/lib/glance/images/." -msgstr "" -"简单来说,本指南描述了配置镜像服务以使用 file 后台,能够上" -"传并存储在一个托管镜像服务的控制节点的目录中。默认情况下,这个目录是 " -"/var/lib/glance/images/。" - -msgid "" -"For simplicity, this guide implicitly uses the default " -"domain." -msgstr "为简单起见,本手册默认使用 缺省 域。" - -msgid "" -"For the restrict keys, you essentially remove the " -"nopeer and noquery options." -msgstr "" -"对于 restrict 关键字,您基本上需要删除 nopeernoquery 选项。" - -msgid "" -"For the outside network to access VMs, and vice versa, routers between the " -"networks are needed. Each router has one gateway that is connected to a " -"network and many interfaces that are connected to subnets. Like a physical " -"router, subnets can access machines on other subnets that are connected to " -"the same router, and machines can access the outside network through the " -"gateway for the router." -msgstr "" -"如果外网需要访问虚拟机,或者相反,网络中的路由器就是必须要使用的。每个路由器" -"配有一个网关,可以连接到网络和接口,这些接口又连接着子网。如同实体路由器一" -"样,子网中的机器可以访问连接到同一个路由器的子网中的其它机器,机器可以通过该" -"路由器的网关访问外网。" - -msgid "" -"Format the /dev/sdb1 and /dev/sdc1 " -"partitions as XFS:" -msgstr "" -"将 /dev/sdb1/dev/sdc1 分区格式化为 " -"XFS:" - -msgid "From a host on the external network, ping the tenant router gateway:" -msgstr "从外部网络上的主机,ping租户路由网关:" - -msgid "" -"From the compute node, a site on the " -"Internet:" -msgstr "" -"从 计算 节点, 互联网上的一个站点:" - -msgid "" -"From the compute node, the instance " -"tunnels interface on the network node:" -msgstr "" -"从 计算 节点, 实例通道接口位于" -"网络 节点:" - -msgid "" -"From the compute node, the management " -"interface on the controller node:" -msgstr "" -"从 计算 节点, 管理接口位于控" -"制 节点:" - -msgid "" -"From the controller node, a site on " -"the Internet:" -msgstr "" -"从 控制 节点, 互联网上的一个站点:" - -msgid "" -"From the controller node, the " -"management interface on the compute node:" -msgstr "" -"从 控制 节点, 管理接口位于计" -"算 节点:" - -msgid "" -"From the controller node, the " -"management interface on the network node:" -msgstr "" -"从 控制 节点, 管理接口位于网" -"络 节点:" - -msgid "" -"From the network node, a site on the " -"Internet:" -msgstr "" -"从 网络 节点, 互联网上的一个站点:" - -msgid "" -"From the network node, the instance " -"tunnels interface on the compute node:" -msgstr "" -"从 网络 节点, 实例通道接口位于" -"计算 节点:" - -msgid "" -"From the network node, the management " -"interface on the controller node:" -msgstr "" -"从 网络 节点, 管理接口位于控" -"制 节点:" - -msgid "GLANCE_DBPASS" -msgstr "GLANCE_DBPASS" - -msgid "GLANCE_PASS" -msgstr "GLANCE_PASS" - -msgid "" -"Generally, the -common packages " -"install the configuration files. For example, the glance-common package installs the glance-api.conf and " -"glance-registry.conf files. So, for the Image service, " -"you must re-configure the glance-common package. The same " -"applies for cinder-common, nova-common, and heat-common packages." -msgstr "" -"通常,-common包安装配置文件。例" -"如,glance-common包将安装glance-api.confglance-registry.conf文件。所以,对镜像服务来" -"说,你必须重新配置glance-common包。对cinder-" -"common, nova-common, 和heat-common也同样处理。" - -msgid "Generally, this section looks like this:" -msgstr "通常来说,本章如下所示:" - -msgid "Generate a key pair:" -msgstr "生成密钥对:" - -msgid "" -"Generate a random value to use as the administration token during initial " -"configuration:" -msgstr "生成一个随机值在初始的配置中作为管理员的令牌。" - -msgid "Generate a random value to use as the telemetry secret:" -msgstr "生成一个随机值,作为 telemetry 的 secret:" - -msgid "Generate and add a key pair:" -msgstr "生成和添加秘钥对:" - -msgid "Grant proper access to the cinder database:" -msgstr "为 cinder 数据库赋予适当的权限:" - -msgid "Grant proper access to the glance database:" -msgstr "给 glance 数据库授予合适的访问权限:" - -msgid "Grant proper access to the heat database:" -msgstr "为 heat 数据库赋予合适的访问权限:" - -msgid "Grant proper access to the keystone database:" -msgstr "为 keystone 数据库赋予恰当的访问权限:" - -msgid "Grant proper access to the neutron database:" -msgstr "为 neutron 数据库赋予合适的访问权限:" - -msgid "Grant proper access to the nova database:" -msgstr "为 nova 数据库赋予合适的访问权限:" - -msgid "Grant proper access to the sahara database:" -msgstr "为 sahara 数据库赋予适当的权限:" - -msgid "HASH_PATH_PREFIX" -msgstr "HASH_PATH_PREFIX" - -msgid "HASH_PATH_SUFFIX" -msgstr "HASH_PATH_SUFFIX" - -msgid "HEAT_DBPASS" -msgstr "HEAT_DBPASS" - -msgid "HEAT_DOMAIN_PASS" -msgstr "HEAT_DOMAIN_PASS" - -msgid "HEAT_PASS" -msgstr "HEAT_PASS" - -msgid "Horizon enables you to customize the brand of the dashboard." -msgstr "Horizon 允许您自定义仪表板的商标。" - -msgid "" -"Horizon provides a set of core classes and reusable templates and tools." -msgstr "Horizon 提供了一套内核类和可重复使用的模板及工具。" - -msgid "" -"However, VMs will reduce performance of your instances, particularly if your " -"hypervisor and/or processor lacks support for hardware acceleration of " -"nested VMs." -msgstr "" -"但是,虚拟机会降低您实例的性能,特别是如果您的 hypervisor 和/或 进程缺少硬件" -"加速的嵌套虚拟机支持时。" - -msgid "ID" -msgstr "ID" - -msgid "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" -msgstr "INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS" - -msgid "INTERFACE_NAME" -msgstr "INTERFACE_NAME" - -msgid "IP address: 10.0.0.11" -msgstr "IP 地址: 10.0.0.11" - -msgid "IP address: 10.0.0.21" -msgstr "IP地址: 10.0.0.21" - -msgid "IP address: 10.0.0.31" -msgstr "IP 地址:10.0.0.31" - -msgid "IP address: 10.0.0.41" -msgstr "IP地址: 10.0.0.41" - -msgid "IP address: 10.0.0.51" -msgstr "IP 地址:10.0.0.51" - -msgid "IP address: 10.0.0.52" -msgstr "IP 地址:10.0.0.52" - -msgid "IP address: 10.0.1.21" -msgstr "IP地址: 10.0.1.21" - -msgid "IP address: 10.0.1.31" -msgstr "IP地址: 10.0.1.31" - -msgid "" -"Ideally, you can prevent these problems by enabling jumbo frames on the physical network that " -"contains your tenant virtual networks. Jumbo frames support MTUs up to " -"approximately 9000 bytes which negates the impact of GRE overhead on virtual " -"networks. However, many network devices lack support for jumbo frames and " -"OpenStack administrators often lack control over network infrastructure. " -"Given the latter complications, you can also prevent MTU problems by " -"reducing the instance MTU to account for GRE overhead. Determining the " -"proper MTU value often takes experimentation, but 1454 bytes works in most " -"environments. You can configure the DHCP server that assigns IP addresses to " -"your instances to also adjust the MTU." -msgstr "" -"理想情况下,你可以通过在包含有租户虚拟网络的物理网络上开启jumbo frames来避免这些问题。巨型帧" -"(Jumbo frames)支持最大接近9000字节的MTU,它抵消了虚拟网络上GRE开销的影响。但" -"是,很多网络设备缺乏对于巨型帧的支持,Openstack的管理员也经常缺乏对网络架构的" -"控制。考虑到后续的复杂性,也可以选择降低带来GRE开销的实例的MTU大小来避免MTU的" -"问题。确定恰当的MTU值通常需要实验,但是大多数环境下1454字节都可以工作。你可以" -"配置给实例分配IP地址的DHCP服务器来同时调整MTU。" - -msgid "" -"If the status does not indicate available, check the logs " -"in the /var/log/cinder directory on the controller and " -"volume nodes for more information." -msgstr "" -"如果状态没有显示为 available,请检查控制节点和卷节点中 " -"/var/log/cinder 目录下的日志,获取更多的信息。" - -msgid "" -"If the upgrade process includes a new kernel, reboot your system to activate " -"it." -msgstr "如果更新了一个新内核,重启系统来使用新内核。" - -msgid "" -"If the web browser to access remote consoles resides on a host that cannot " -"resolve the controller hostname, you must replace " -"controller with the management interface IP " -"address of the controller node." -msgstr "" -"如果 web 浏览器访问位于一台无法解析 controller 主" -"机名的主机上的控制台,您必须将 controller 替换为控" -"制节点管理网络接口的 IP 地址。" - -msgid "" -"If this command returns a value of one or greater, your " -"compute node supports hardware acceleration which typically requires no " -"additional configuration." -msgstr "" -"如果这个命令返回 1 或更大 的值,说明您的计算节点支持硬件" -"加速,一般不需要进行额外的配置。" - -msgid "" -"If this command returns a value of zero, your compute " -"node does not support hardware acceleration and you must configure " -"libvirt to use QEMU instead of KVM." -msgstr "" -"如果这个命令返回的是 0,说明您的计算节点不支持硬件加速," -"您必须设置 libvirt 使用 QEMU 而不能使用 KVM。" - -msgid "" -"If you are building your OpenStack nodes as virtual machines, you must " -"configure the hypervisor to permit promiscuous mode on the external network." -msgstr "" -"如果您在虚拟机上配置您的OpenStack节点,您必须配置管理程序以允许外部网络上的混" -"杂模式。" - -msgid "" -"If you are familiar with these packages and pre-seeding, you can proceed to " -"." -msgstr "" -"如果你熟悉这些包和预置输入,你可以直接阅读下一章 。" - -msgid "" -"If you change the journaling configuration, stop the MongoDB service, remove " -"the initial journal files, and start the service:" -msgstr "" -"如果您修改 journaling 的配置,请停止 MongoDB 服务,删除 journal 的初始化文" -"件,并启动服务:" - -msgid "" -"If you choose to install on VMs, make sure your hypervisor permits " -"promiscuous mode and disables MAC address filtering " -"on the external network." -msgstr "" -"如果您选择安装在虚拟机上,请确认您的 hypervisor 允许 promiscuous " -"模式并禁用 MAC 地址在外部网络上的过滤。" - -msgid "" -"If you configure a package with debconf incorrectly, you can re-configure it, as follows:" -msgstr "" -"如果你使用debconf配置包但是配置错" -"了,你可以重新配置,如下所示:" - -msgid "" -"If you decide to not use , then you will have to create the " -"database and manage its access rights yourself, and run the following by " -"hand." -msgstr "" -"如果您决定使用 ,那么您将必须创建数据库并自行管理它的访问权" -"限,然后手动执行以下命令。" - -msgid "" -"If you intend to use non-raw image types such as QCOW2 and VMDK, install the " -"QEMU support package:" -msgstr "如果你尝试使用非原生镜像类型,比如QCOW2和VMDK,安装支持QEMU的包:" - -msgid "" -"If you use the Data processing service with a MySQL or MariaDB database, you " -"must configure the maximum number of allowed packets for storing big job " -"binaries in the service internal database." -msgstr "" -"如果您使用 MySQL 或 MariaDB 数据库的数据处理服务,您必须配置允许将大的作业文" -"件保存到服务的内部数据库的最大的包的数目。" - -msgid "If you want to do backup and restore, you also need Object Storage." -msgstr "如果想进行备份和恢复,您还需要对象存储。" - -msgid "" -"If you want to provision datastores on block-storage volumes, you also need " -"Block Storage." -msgstr "如果想在块存储卷上提供数据存储,您还需要块设备存储。" - -msgid "" -"If your environment includes the Block Storage service, you can attach a " -"volume to the instance." -msgstr "如果您的环境包含块设备存储服务,您可以附加一个卷给实例。" - -msgid "" -"If your host does not contain the public/private key pair created in an " -"earlier step, SSH prompts for the default password associated with the " -"cirros user." -msgstr "" -"如果您的主机在之前的步骤中没有包含所创建的公钥或私钥对,SSH 会提示使用 " -"cirros 用户相关的密码。" - -msgid "" -"If your storage nodes use LVM on the operating system disk, you must also " -"add the associated device to the filter. For example, if the /dev/" -"sda device contains the operating system:" -msgstr "" -"如果您的存储节点在操作系统磁盘上使用了 LVM,您还必需添加相关的设备到过滤器" -"中。例如,如果 /dev/sda 设备包含在操作系统中:" - -msgid "" -"If your system uses a different device name, adjust these steps accordingly." -msgstr "如果您的系统使用了一个不同的设备名称,请对这些步骤进行相应的调整。" - -msgid "" -"If your web browser runs on a host that cannot resolve the " -"controller host name, you can replace " -"controller with the IP address of the management " -"interface on your controller node." -msgstr "" -"如果您的 web 浏览器运行在一台没有解析 controller " -"主机名的主机上,您可以将 controller 替换为控制节点" -"管理网络的 IP 地址。" - -msgid "Implement the changes:" -msgstr "使修改生效:" - -msgid "" -"In debconf, the higher the " -"priority for a screen, the greater the chance that the user sees that " -"screen. If a debconf screen has " -"medium priority and you configure the Debian system to " -"show only critical prompts, which is the default in " -"Debian, the user does not see that debconf screen. Instead, the default for the related package is used. In " -"the Debian OpenStack packages, a number of debconf screens are set with medium " -"priority. Consequently, if you want to respond to all debconf screens from the Debian OpenStack packages, " -"you must run the following command and select the medium " -"priority before you install any packages:" -msgstr "" -"在 debconf 中,screen 优先级越高," -"用看到这个 screen 的可能性就越高。如果一个 debconfmedium 优先级,且您配置 Debian " -"系统仅显示临界提示,这是 Debian 中的默认设置,那么,用户是" -"不会看到该 debconf screen 的。相" -"反,默认的相关包被使用了。在 Debian OpenStack 包中,有很多 debconf screen 是设置为 medium 优" -"先级的。因此,如果您要响应所有 Debian OpenStack 包的 debconf screen,您必需运行下列命令,并在安装包之前选" -"择 medium 优先级:" - -msgid "" -"In Debian, the Keystone package offers automatic registration of Keystone in " -"the service catalogue. This is equivalent of running the below commands:" -msgstr "" -"在 Debian 系统中,Keystone 的包可以提供自动注册 Keystone 到服务目录中。这等效" -"于执行以下命令:" - -msgid "" -"In Kilo, the keystone project deprecates Eventlet in favor of a WSGI server. " -"This guide uses the Apache HTTP server with mod_wsgi to " -"serve keystone requests on ports 5000 and 35357. By default, the keystone service still listens on ports 5000 " -"and 35357. Therefore, this guide disables the keystone service." -msgstr "" -"Kilo版本中,keystone项目废弃Eventlet,使用WSGI服务器作为替代。本教程使用" -"Apache HTTP服务器的插件mod_wsgi为处理keystone请求,端口是" -"5000和35357。缺省情况, keystone " -"服务仍然监听5000和35357端口。然而,本教程禁用keystone 服务。" - -msgid "" -"In addition to external networks, any Networking set up has one or more " -"internal networks. These software-defined networks connect directly to the " -"VMs. Only the VMs on any given internal network, or those on subnets " -"connected through interfaces to a similar router, can access VMs connected " -"to that network directly." -msgstr "" -"外部网络之外,任何 Networking 设置拥有一个或多个内部网络。这些软件定义的网络" -"直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的" -"子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。" - -msgid "" -"In each client environment script, configure the Block Storage client to use " -"API version 2.0:" -msgstr "在每个客户环境脚本中,配置块存储服务客户端使用2.0的API:" - -msgid "" -"In each client environment script, configure the Image service client to use " -"API version 2.0:" -msgstr "在每个客户端脚本中,配置镜像服务客户端使用2.0的API:" - -msgid "" -"In the [DEFAULT] and [keystone_authtoken] sections, configure Identity service access:" -msgstr "" -"在 [DEFAULT][keystone_authtoken] 部" -"分,配置身份认证服务的访问:" - -msgid "" -"In the [DEFAULT] and [nova] sections, " -"configure Networking to notify Compute of network topology changes:" -msgstr "" -"在 [DEFAULT][nova]部分,配置网络通" -"知计算网络拓扑的变化:" - -msgid "" -"In the [DEFAULT] and [oslo_messaging_rabbit] sections, configure RabbitMQ message " -"queue access:" -msgstr "" -"在 [DEFAULT][oslo_messaging_rabbit] 部分,配置 RabbitMQ 消息队列的访问:" - -msgid "" -"In the [DEFAULT] section, configure access parameters:" -msgstr "在 [DEFAULT] 部分,配置访问参数:" - -msgid "" -"In the [DEFAULT] section, configure information about the " -"heat Identity service domain:" -msgstr "在[DEFAULT] 段,配置Heat认证服务域的信息。" - -msgid "" -"In the [DEFAULT] section, configure notifications and " -"RabbitMQ message broker access:" -msgstr "在 [DEFAULT] 部分,配置消息和 RabbitMQ 代理的访问:" - -msgid "In the [DEFAULT] section, configure notifications:" -msgstr "在 [DEFAULT] 部分,配置提醒:" - -msgid "" -"In the [DEFAULT] section, configure the APIs and drivers:" -msgstr "" -"在 [DEFAULT] 部分,配置 APIs 和 drivers:" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option to use the management interface IP address of the controller " -"node:" -msgstr "" -"在 [DEFAULT] 部分,配置 my_ip 选项以使" -"用控制节点上的管理网络接口的 IP 地址:" - -msgid "" -"In the [DEFAULT] section, configure the my_ip option:" -msgstr "" -"在 [DEFAULT] 部分,设置 my_ip 选项:" - -msgid "" -"In the [DEFAULT] section, configure the noop notification driver to disable notifications because they only " -"pertain to the optional Telemetry service:" -msgstr "" -"在 [DEFAULT] 部分,配置 noop 消息驱动以" -"禁用消息,因为它们只与可选的 Telemetry 服务有关:" - -msgid "" -"In the [DEFAULT] section, configure the VNC proxy to use " -"the management interface IP address of the controller node:" -msgstr "" -"在 [DEFAULT] 部分,配置 VNC 代理以使用控制节点的管理网络接" -"口的 IP 地址。" - -msgid "" -"In the [DEFAULT] section, configure the bind IP address, " -"bind port, user, configuration directory, and mount point directory:" -msgstr "" -"在 [DEFAULT] 部分,配置绑定 IP 地址、绑定端口、用户、配置" -"文件目录和挂载点目录:" - -msgid "" -"In the [DEFAULT] section, configure the bind port, user, " -"and configuration directory:" -msgstr "在 [DEFAULT] 部分,配置绑定端口,用户,和配置目录:" - -msgid "" -"In the [DEFAULT] section, configure the interface and " -"DHCP drivers and enable deletion of defunct DHCP namespaces:" -msgstr "" -"在[DEFAULT]部分,配置接口和DHCP驱动并启用删除废弃DHCP命名" -"空间的功能:" - -msgid "" -"In the [DEFAULT] section, configure the interface driver, " -"external network bridge, and enable deletion of defunct router namespaces:" -msgstr "" -"在 [DEFAULT] 部分,配置网口驱动、外部网桥和启用删除废弃路" -"由器命名空间的功能:" - -msgid "" -"In the [DEFAULT] section, configure the location of the " -"Image service:" -msgstr "在[DEFAULT] 段,配置镜像服务的位置:" - -msgid "" -"In the [DEFAULT] section, configure the metadata and wait " -"condition URLs:" -msgstr "在 [DEFAULT] 部分,配置 metadata 和等待环境 URLs:" - -msgid "" -"In the [DEFAULT] section, configure the metadata host:" -msgstr "在 [DEFAULT] 部分,配置 metadata 主机:" - -msgid "" -"In the [DEFAULT] section, configure the metadata proxy " -"shared secret:" -msgstr "在 [DEFAULT] 部分,配置 metadata 代理共享 secret:" - -msgid "" -"In the [DEFAULT] section, configure the network and " -"security group APIs:" -msgstr "在 [DEFAULT] 部分,配置网络和安全组的 API:" - -msgid "" -"In the [DEFAULT] section, configure the network " -"parameters:" -msgstr "在 [DEFAULT] 部分,设置网络参数:" - -msgid "" -"In the [DEFAULT] section, define the value of the initial " -"administration token:" -msgstr "在 [DEFAULT] 段中,对管理员令牌进行配置。" - -msgid "" -"In the [DEFAULT] section, enable and configure remote " -"console access:" -msgstr "在 [DEFAULT] 部分,启用并配置远程控制台的访问:" - -msgid "" -"In the [DEFAULT] section, enable the dnsmasq configuration file:" -msgstr "" -"在 [DEFAULT] 部分,启用 dnsmasq 配" -"置文件:" - -msgid "In the [DEFAULT] section, enable the LVM back end:" -msgstr "在[DEFAULT] 部分,启用LVM后端:" - -msgid "" -"In the [DEFAULT] section, enable the Modular Layer 2 " -"(ML2) plug-in, router service, and overlapping IP addresses:" -msgstr "" -"在 [DEFAULT] 部分,启用 Modular Layer 2 (ML2) 插件、" -"router 服务和 overlapping IP 地址:" - -msgid "In the [agent] section, enable GRE tunnels:" -msgstr "在 [agent] 部分,启用 GRE 隧道:" - -msgid "" -"In the [app:proxy-server] section, enable automatic " -"account creation:" -msgstr "在 [app:proxy-server] 部分中,启动自动账户创建:" - -msgid "" -"In the [collector] section, configure the dispatcher:" -msgstr "在 [collector] 部分,设置调度者:" - -msgid "" -"In the [database] section, comment out any " -"connection options because compute nodes do not directly " -"access the database." -msgstr "" -"在 [database] 部分,注释所有 connection 选项,因为计算节点不会直接访问数据库。" - -msgid "" -"In the [database] section, comment out any " -"connection options because network nodes do not directly " -"access the database." -msgstr "" -"在 [database] 部分,注释所有 connection 选项,因为网络节点不会直接访问数据库。" - -msgid "" -"In the [database] section, configure database access:" -msgstr "在 [database] 段,配置数据库访问相关参数:" - -msgid "" -"In the [ec2authtoken] section, configure Identity service " -"access:" -msgstr "在 [ec2authtoken] 部分,配置身份认证服务的访问:" - -msgid "" -"In the [filter:authtoken] section, configure Identity " -"service access:" -msgstr "" -"在 [filter:authtoken] 部分,配置身份认证服务的访问:" - -msgid "" -"In the [filter:cache] section, configure the " -"memcached location:" -msgstr "" -"在 [filter:cache] 部分,配置memcached 的位置:" - -msgid "" -"In the [filter:ceilometer] section, configure " -"notifications:" -msgstr "在 [filter:ceilometer] 部分,配置提醒:" - -msgid "" -"In the [filter:keystoneauth] section, add the " -"ResellerAdmin role:" -msgstr "" -"在 [filter:keystoneauth] 部分,添加 " -"ResellerAdmin 角色:" - -msgid "" -"In the [filter:keystoneauth] section, configure the " -"operator roles:" -msgstr "在 [filter:keystoneauth] 部分,配置操作者角色:" - -msgid "" -"In the [filter:recon] section, configure the recon " -"(meters) cache and lock directories:" -msgstr "" -"在 [filter:recon] 部分,配置 recon (metrics) 缓存和锁目" -"录:" - -msgid "" -"In the [filter:recon] section, configure the recon " -"(meters) cache directory:" -msgstr "" -"在 [filter:recon] 部分,配置 recon (metrics) 缓存目录:" - -msgid "" -"In the [glance] section, configure the location of the " -"Image service:" -msgstr "在[glance] 服务字段,配置镜像服务的位置:" - -msgid "" -"In the [glance_store] section, configure the local file " -"system store and location of image files:" -msgstr "" -"在 [glance_store] 部分,设置本地文件系统的存储和镜像文件的" -"位置:" - -msgid "" -"In the [keystone_authtoken] and [ec2authtoken] sections, configure Identity service access:" -msgstr "" -"在 [keystone_authtoken][ec2authtoken] 部分中,配置身份认证服务的访问:" - -msgid "" -"In the [keystone_authtoken] and [paste_deploy] sections, configure Identity service access:" -msgstr "" -"在 [keystone_authtoken][paste_deploy] 部分,配置身份认证服务的访问:" - -msgid "" -"In the [keystone_authtoken] section, configure Identity " -"service access:" -msgstr "" -"在 [keystone_authtoken] 段,配置身份认证服务相关信息:" - -msgid "" -"In the [lvm] section, configure the LVM back end with the " -"LVM driver, cinder-volumes volume group, iSCSI protocol, " -"and appropriate iSCSI service:" -msgstr "" -"在[lvm]段,使用LVM驱动配置LVM后端,cinder-" -"volumes 卷组,ISCSI协议和恰当的iSCSI服务:" - -msgid "" -"In the [memcache] section, configure the Memcache service:" -msgstr "在 [memcache] 部分,配置Memcache服务:" - -msgid "" -"In the [ml2] section, enable the flat, VLAN, generic routing encapsulation (GRE), and virtual extensible LAN (VXLAN) " -"network type drivers, GRE tenant networks, and the OVS mechanism driver:" -msgstr "" -"在[ml2] 部分,启用flat, VLAN, " -"路由封装(GRE), and 虚拟扩展LAN(VXLAN) 网络类型驱动,GRE租户网络和OVS机制驱动:" - -msgid "" -"In the [ml2_type_flat] section, configure the external " -"flat provider network:" -msgstr "在 [ml2_type_flat] 部分,配置外部供应商的网络:" - -msgid "" -"In the [ml2_type_gre] section, configure the tunnel " -"identifier (id) range:" -msgstr "" -"在 [ml2_type_gre] 部分,配置隧道标识符 (id) 的范围:" - -msgid "" -"In the [mysqld] section, set the bind-address key to the management IP address of the controller node to enable " -"access by other nodes via the management network:" -msgstr "" -"在 [mysqld] 段,将配置项 bind-address " -"设置为控制节点服务器的管理 IP 地址,其它节点服务器可以通过管理网络访问数据" -"库:" - -msgid "" -"In the [mysqld] section, set the following keys to enable " -"useful options and the UTF-8 character set:" -msgstr "" -"在 [mysqld] 段,通过修改下列配置项以一些有用的配置并使用 " -"UTF-8 编码:" - -msgid "" -"In the [neutron] section, configure access parameters:" -msgstr "在 [neutron] 部分,配置访问的参数:" - -msgid "" -"In the [neutron] section, enable the metadata proxy and " -"configure the secret:" -msgstr "" -"在 [neutron] 部分,启用 metadata 代理并配置 secret:" - -msgid "" -"In the [oslo_concurrency] section, configure the lock " -"path:" -msgstr "在[oslo_concurrency] 段,配置锁路径:" - -msgid "" -"In the [ovs] section, enable tunnels and configure the " -"local tunnel endpoint:" -msgstr "在 [ovs] 部分,启用隧道并配置本地隧道的端点:" - -msgid "" -"In the [ovs] section, enable tunnels, configure the local " -"tunnel endpoint, and map the external flat provider network to the " -"br-ex external network bridge:" -msgstr "" -"在 [ovs] 部分,启用 tunnels,配置本地 tunnel 端点,并映射" -"外部供应商网络到 br-ex 外部网络桥接上:" - -msgid "" -"In the [pipeline:main] section, add ceilometer:" -msgstr "" -"在 [pipeline:main] 部分,添加 ceilometer:" - -msgid "" -"In the [pipeline:main] section, enable the appropriate " -"modules:" -msgstr "在 [pipeline:main] 部分,启用合适的模块:" - -msgid "" -"In the [publisher] section, configure the telemetry " -"secret:" -msgstr "在 [publisher] 部分,配置 telemetry 的 secret:" - -msgid "" -"In the [revoke] section, configure the SQL revocation " -"driver:" -msgstr "在 [revoke] 部分,配置 SQL 的撤回驱动:" - -msgid "" -"In the [securitygroup] section, enable security groups, " -"enable ipset, and configure the OVS " -"iptables firewall driver:" -msgstr "" -"在 [securitygroup] 部分,启用安全组,启用 " -"ipset 并配置 OVS iptables 防火" -"墙驱动:" - -msgid "" -"In the [service_credentials] section, configure service " -"credentials:" -msgstr "在 [service_credentials] 部分,配置服务的证书:" - -msgid "" -"In the [storage-policy:0] section, configure the default " -"storage policy:" -msgstr "在 [storage-policy:0] 部分,配置默认存储策略:" - -msgid "" -"In the [swift-hash] section, configure the hash path " -"prefix and suffix for your environment." -msgstr "" -"在 [swift-hash] 部分,为您的环境配置哈希路径的前缀和或缀。" - -msgid "" -"In the [token] section, configure the UUID token provider " -"and Memcached driver:" -msgstr "" -"在 [token] 部分,设置 UUID 令牌的提供者和 Memcached 驱动:" - -msgid "" -"In the devices section, add a filter that accepts the " -"/dev/sdb device and rejects all other devices:" -msgstr "" -"在 devices 部分,添加一个过滤器,接受 /dev/sdb 设备,拒绝其他所有设备:" - -msgid "Initial networks" -msgstr "初始网络" - -msgid "Initialize the database:" -msgstr "初始化数据库:" - -msgid "Install and configure" -msgstr "安装和配置" - -msgid "" -"Install and configure NTP using the instructions in ." -msgstr "" -"使用 中的指示安装和配置 " -"NTP。" - -msgid "Install and configure Block Storage volume components" -msgstr "安装并配置块存储卷组件" - -msgid "Install and configure Orchestration" -msgstr "安装和配置 " - -msgid "Install and configure a compute node" -msgstr "安装和配置计算节点" - -msgid "Install and configure a storage node" -msgstr "安装并配置一个存储节点" - -msgid "Install and configure compute node" -msgstr "安装和配置计算节点" - -msgid "Install and configure controller node" -msgstr "安装配置控制节点服务器" - -msgid "Install and configure network node" -msgstr "安装和配置网络节点" - -msgid "Install and configure storage node components" -msgstr "安装并配置存储节点组件" - -msgid "Install and configure the controller node" -msgstr "安装并配置控制器节点" - -msgid "Install and configure the storage nodes" -msgstr "安装和配置存储节点" - -msgid "Install required packages:" -msgstr "安装所需的包:" - -#. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1214928. -msgid "Install the ceilometermiddleware package:" -msgstr "安装 ceilometermiddleware 包:" - -msgid "" -"Install the rdo-release-kilo package to enable the RDO " -"repository:" -msgstr "安装 rdo-release-kilo包启动RDO仓库:" - -msgid "Install the Data processing service" -msgstr "安装数据处理服务" - -msgid "Install the Database service" -msgstr "安装数据库服务" - -msgid "Install the Debian Wheezy OpenStack repository for Juno:" -msgstr "为 Juno 版本安装 Debian Wheezy OpenStack 仓库:" - -msgid "Install the LVM packages:" -msgstr "安装 LVM 包:" - -msgid "Install the MongoDB package:" -msgstr "安装MongoDB包:" - -msgid "Install the Ubuntu Cloud archive keyring and repository:" -msgstr "安装 Ubuntu Cloud 档案认证环和仓库:" - -msgid "Install the package:" -msgstr "安装包:" - -msgid "Install the packages:" -msgstr "安装软件包:" - -msgid "Install the required packages:" -msgstr "安装需要的包:" - -msgid "Install the supporting utility packages:" -msgstr "安装支持的工具包:" - -msgid "Instance tunnels on 10.0.1.0/24 without a gateway" -msgstr "实例通道使用 10.0.1.0/24 无网关" - -msgid "KEYSTONE_DBPASS" -msgstr "KEYSTONE_DBPASS" - -msgid "Keep these values secret and do not change or lose them." -msgstr "这些值要保密,并且不要修改或丢失。" - -msgid "" -"Kill any existing dnsmasq " -"processes:" -msgstr "" -"杀死所有存在的 dnsmasq 进程:" - -msgid "" -"Later on, the package will configure the below directive with the value you " -"entered:" -msgstr "然后,这个包会以您输入的值配置以下指令:" - -msgid "Launch an instance" -msgstr "启动一个实例" - -msgid "Launch an instance with OpenStack Networking (neutron)" -msgstr "使用 OpenStack 网络 (neutron) 启动一台实例" - -msgid "Launch an instance with legacy networking (nova-network)" -msgstr "使用传统网络 (nova-network) 启动一个实例" - -msgid "Launch the instance:" -msgstr "启动实例:" - -msgid "" -"Launching a virtual machine or instance involves many interactions among " -"several services. The following diagram provides the conceptual architecture " -"of a typical OpenStack environment." -msgstr "" -"启动一台虚拟机或示例会包含很多服务之间的交互。下面的图展示了一个普通的 " -"OpenStack 环境的概念架构。" - -msgid "Legacy networking (nova-network)" -msgstr "传统联网方式(nova-network)" - -msgid "" -"Legacy networking primarily involves compute nodes. However, you must " -"configure the controller node to use legacy networking." -msgstr "传统网络主要涉及到计算节点。但是,您必须配置控制节点以使用传统网络。" - -msgid "" -"Like a physical network, a virtual network requires a subnet assigned to it. The external network shares the same subnet and " -"gateway associated with the physical network " -"connected to the external interface on the network node. You should specify " -"an exclusive slice of this subnet for router and " -"floating IP addresses to prevent interference with other devices on the " -"external network." -msgstr "" -"如同一个物理网络,一个虚拟网络需要为其分配一个子网。外" -"部网络通过网络节点上的外部接口,分享与物理网络关联的相同的子网和网" -"关。您需要为路由和浮动IP来指定一个此子网上" -"的独有段,以免与外部网络上的其他设备相冲突。" - -msgid "" -"Like the external network, your tenant network also requires a subnet " -"attached to it. You can specify any valid subnet because the architecture " -"isolates tenant networks. By default, this subnet uses DHCP so your " -"instances can obtain IP addresses." -msgstr "" -"类似于外部网络,您的租户网络也需要附加子网。你可以指定任意有效的子网,因为架" -"构分离了租户网络。默认情况下,这个子网会使用 DHCP,因此您的实例可以获取到 IP " -"地址。" - -msgid "" -"List API endpoints in the Identity service to verify connectivity with the " -"Identity service:" -msgstr "列出身份认证服务中的 API 端点来验证身份认证服务的连通性:" - -msgid "List agents to verify successful launch of the neutron agents:" -msgstr "列出代理以验证启动 neutron 代理是否成功:" - -msgid "List available flavors:" -msgstr "列出可用类型:" - -msgid "List available images:" -msgstr "列出可用镜像:" - -msgid "" -"List available meters again to validate detection of the image download:" -msgstr "再次列出可用的 meters 以验证镜像下载的检查:" - -msgid "List available meters:" -msgstr "列出可用的 meters:" - -msgid "List available networks:" -msgstr "列出可用网络:" - -msgid "List available security groups:" -msgstr "列出可用的安全组:" - -msgid "List containers:" -msgstr "列出容器:" - -msgid "" -"List images in the Image service catalog to verify connectivity with the " -"Image service:" -msgstr "列出镜像服务目录的镜像,验证镜像服务的连通性:" - -msgid "" -"List loaded extensions to verify successful launch of the neutron-" -"server process:" -msgstr "" -"列出加载的扩展,以验证是否成功启动了一个 neutron-server 进" -"程:" - -msgid "" -"List service components to verify successful launch and registration of each " -"process:" -msgstr "列出服务组件,以验证是否成功启动并注册了每个进程:" - -msgid "List service components to verify successful launch of each process:" -msgstr "列出服务组件以验证是否每个进程都成功启动:" - -msgid "List volumes:" -msgstr "列出卷:" - -msgid "" -"Load the admin-openrc.sh file to populate environment " -"variables with the location of the Identity service and the admin project and user credentials:" -msgstr "" -"运行 admin-openrc.sh 脚本,配置认证服务的位置、" -"admin 租户和用户凭证的环境变量:" - -msgid "MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "METADATA_SECRET" -msgstr "METADATA_SECRET" - -msgid "MYSQL_PASSWORD" -msgstr "MYSQL_PASSWORD" - -msgid "Management on 10.0.0.0/24 with gateway 10.0.0.1" -msgstr "管理使用 10.0.0.0/24 带有网关 10.0.0.1" - -msgid "Manually install python-argparse" -msgstr "手动安装python-argparse" - -msgid "" -"Many of the OpenStack services need to be configured to access a database. " -"These are configured through a DSN (Database Source Name) directive as " -"follows:" -msgstr "" -"很多 OpenStack 服务组件需要配置对数据库的访问,可以通过下面的命令对 DSN " -"(Database Source Name) 进行配置:" - -msgid "" -"Many users build their test environments on virtual machines (VMs). The primary benefits of " -"VMs include the following:" -msgstr "" -"很多用户将他们的测试环境搭建在虚" -"拟机 (VMs)上。使用虚拟机的主要好处包括以下几点:" - -msgid "Message queue" -msgstr "消息队列" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Hardware " -"requirements" -msgstr "包含 OpenStack 网络 (neutron) 的最小架构样例的硬件需求" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Network " -"layout" -msgstr "包含 OpenStack 网络 (neutron) 的网络层的最小架构示例" - -msgid "" -"Minimal architecture example with OpenStack Networking (neutron)Service " -"layout" -msgstr "包含 OpenStack 网络 (neutron) 服务层的最小架构样例" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Hardware " -"requirements" -msgstr "包含 OpenStack 传统网络 (nova-network) 的最小架构样例的硬件需求" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Network " -"layout" -msgstr "包含 OpenStack 传统网络的网络层的最小架构示例" - -msgid "" -"Minimal architecture example with legacy networking (nova-network)Service " -"layout" -msgstr "包含 OpenStack 传统网络 (nova-network) 服务层的最小架构样例" - -msgid "" -"Most cloud images support public key authentication " -"rather than conventional user name/password authentication. Before launching " -"an instance, you must generate a public/private key pair using " -" and add the public key to your OpenStack environment." -msgstr "" -"大部分的云镜像支持 公钥认证 而不是传统的用户名/密码认" -"证的方式。在启动实例之前,您必须生成一个公钥/私钥对使用并将公" -"钥添加到您的 OpenStack 环境中。" - -msgid "" -"Most cloud images support public key authentication " -"rather than conventional user name/password authentication. Before launching " -"an instance, you must generate a public/private key pair." -msgstr "" -"大部分云镜像支持公钥认证而不是传统的用户名/密码认证的" -"方式。在启动实例之前,你必须生成一个公钥/私钥。" - -msgid "Mount the devices:" -msgstr "挂载设备:" - -msgid "NETWORK_CIDR" -msgstr "NETWORK_CIDR" - -msgid "NEUTRON_DBPASS" -msgstr "NEUTRON_DBPASS" - -msgid "NEUTRON_PASS" -msgstr "NEUTRON_PASS" - -msgid "NOVA_DBPASS" -msgstr "NOVA_DBPASS" - -msgid "NOVA_PASS" -msgstr "NOVA_PASS" - -msgid "NTP_SERVER" -msgstr "NTP_SERVER" - -msgid "Name" -msgstr "名称" - -msgid "Network Node: 1 processor, 512 MB memory, and 5 GB storage" -msgstr "网络节点: 1 处理器, 512MB 内存, 及5 GB 存储" - -msgid "Network Time Protocol (NTP)" -msgstr "网络时间协议(NTP)" - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest number " -"and the second interface as the interface with the highest number." -msgstr "" -"网络接口由发行版的不同而有各种名称。传统上,接口使用 \"eth\" 加上一个数字序列" -"命名。为了覆盖到所有不同的名称,本指南简单地将数字最小的接口引用为第一个接" -"口,第二个接口则为更大数字的接口。" - -msgid "" -"Network interface names vary by distribution. Traditionally, interfaces use " -"\"eth\" followed by a sequential number. To cover all variations, this guide " -"simply refers to the first interface as the interface with the lowest " -"number, the second interface as the interface with the middle number, and " -"the third interface as the interface with the highest number." -msgstr "" -"网络接口名称在不同发布版本上各异。通常,接口使用 “eth” 并跟着一个顺序值。为了" -"涵盖各种差异,本指南简单的指代为第一个接口为最小数值的接口,第二个接口为中间" -"数值的接口,第三个接口为最高数值的接口。" - -msgid "Network mask: 255.255.255.0 (or /24)" -msgstr "子网掩码: 255.255.255.0 (or /24)" - -msgid "Network node" -msgstr "网络节点" - -msgid "Networking" -msgstr "网络" - -msgid "" -"Networking also supports security groups. Security groups enable administrators to define firewall rules in " -"groups. A VM can belong to one or more security groups, and Networking " -"applies the rules in those security groups to block or unblock ports, port " -"ranges, or traffic types for that VM." -msgstr "" -"Networking也支持安全组。安全组允许管理员" -"分组定义防火墙规则。一个虚拟机可以属于一个或多个安全组,Networking针对这个虚" -"拟机,应用这些安全组里的规则来阻塞或者开启端口,端口范围,或通讯类型。" - -msgid "Networking concepts" -msgstr "网络概念" - -msgid "" -"Networking provides the networks, subnets, and routers object abstractions. " -"Each abstraction has functionality that mimics its physical counterpart: " -"networks contain subnets, and routers route traffic between different subnet " -"and networks." -msgstr "" -"Networking 提供网络、子网和路由对象的概念。每个概念有自己的功能,可以模仿对应" -"的物理设备:网络包括子网,路由则在不同的子网和网络之间进行路由转发。" - -msgid "" -"Next specify admin_user, admin_password and admin_tenant_name. These parameters must " -"specify a keystone user which has the admin role in the " -"given tenant. These credentials allow sahara to authenticate and authorize " -"its users." -msgstr "" -"下一步,指定 admin_useradmin_passwordadmin_tenant_name。这些参数必须指定一个 " -"keystone 用户,且这个用户在给定的租户中有 admin 角色。这些" -"证书允许 sahara 认证和授权它的用户。" - -msgid "Next steps" -msgstr "下一步" - -msgid "Object ring" -msgstr "对象环" - -msgid "" -"Obtain a Virtual Network Computing (VNC) session URL " -"for your instance and access it from a web browser:" -msgstr "" -"获取一个实例的 Virtual Network Computing (VNC) 会话的 " -"URL 并从 web 浏览器访问它:" - -msgid "" -"Obtain the /etc/swift/swift.conf file from the Object " -"Storage source repository:" -msgstr "" -"从对象存储的仓库源中获取 /etc/swift/swift.conf 文件:" - -msgid "" -"Obtain the accounting, container, object, container-reconciler, and object-" -"expirer service configuration files from the Object Storage source " -"repository:" -msgstr "" -"从对象存储源码仓库中获取账户、容器、对象、容器调节者和对象超期服务配置文件:" - -msgid "" -"Obtain the proxy service configuration file from the Object Storage source " -"repository:" -msgstr "从对象存储的仓库源中获取代理服务的配置文件:" - -msgid "" -"On RHEL and CentOS, configure SELinux to permit the web server to connect to " -"OpenStack services:" -msgstr "" -"在 RHEL 和 CentOS 中,配置 SELinux 以允许 web 服务器链接到 OpenStack 服务:" - -msgid "On RHEL, enable additional repositories using the subscription manager:" -msgstr "在RHEL上面,使用subscription 管理器启用额外的仓库:" - -msgid "On SLES 12:" -msgstr "在SLES 12中:" - -msgid "On SLES:" -msgstr "在 SLES 系统中:" - -msgid "On all nodes, ensure proper ownership of the configuration directory:" -msgstr "在所有节点上,确认配置文件目录是否有合适的所有权:" - -msgid "On all nodes, install the Debian Wheezy backport repository Juno:" -msgstr "在所有节点上,安装 Debian Wheezy backport 仓库的 Juno 版本:" - -msgid "On openSUSE 13.2:" -msgstr "在openSUSE 13.2中:" - -msgid "On openSUSE:" -msgstr "在 openSUSE 系统中:" - -msgid "" -"On the controller node, edit the /etc/nova/" -"nova.conf file and complete the following action:" -msgstr "" -"在控制节点上,修改配置文件 /etc/nova/nova." -"conf 并完成以下操作:" - -msgid "" -"On the controller node, restart the Compute " -"API service:" -msgstr "" -"在控制节点上,重启 Compute API 服" -"务:" - -msgid "" -"On the controller node and any other nodes running the proxy service, " -"restart the Object Storage proxy service including its dependencies:" -msgstr "" -"在控制节点和其他运行了代理服务的节点上,重启对象存储代理服务及其依赖的服务:" - -msgid "" -"On the controller node and any other nodes running the proxy service, start " -"the Object Storage proxy service including its dependencies and configure " -"them to start when the system boots:" -msgstr "" -"在控制节点和其他运行了代理服务的节点上,启动对象存储代理服务及其依赖服务,并" -"将它们配置为随系统启动:" - -msgid "" -"On the storage nodes, start the Object Storage services and configure them " -"to start when the system boots:" -msgstr "在存储节点上,启动对象存储服务,并将其设置为随系统启动:" - -msgid "On the storage nodes, start the Object Storage services:" -msgstr "在存储节点上启动对象存储服务:" - -msgid "" -"Once you configure the ML2 plug-in, changing values in the " -"type_drivers option can lead to database inconsistency." -msgstr "" -"一旦您配置好了 ML2 插件,修改type_drivers选项的值会导致数" -"据库的不一致。" - -msgid "" -"One physical server can support multiple nodes, each with almost any number " -"of network interfaces." -msgstr "" -"一台物理服务器可以支持多个节点,每个节点几乎可以使用任意数目的网络接口。" - -msgid "" -"Only instances can access Block Storage volumes. However, the underlying " -"operating system manages the devices associated with the volumes. By " -"default, the LVM volume scanning tool scans the /dev " -"directory for block storage devices that contain volumes. If projects use " -"LVM on their volumes, the scanning tool detects these volumes and attempts " -"to cache them which can cause a variety of problems with both the underlying " -"operating system and project volumes. You must reconfigure LVM to scan only " -"the devices that contain the cinder-volume volume group. " -"Edit the /etc/lvm/lvm.conf file and complete the " -"following actions:" -msgstr "" -"只有实例能够访问块存储卷。但是,底层的操作系统管理这些设备,关联到卷上。默认" -"情况下,LVM 卷的扫描工具会扫描包含卷的块存储设备的 /dev 目" -"录。如果项目在卷上使用了 LVM,扫描工具会检查这些卷并尝试缓存它们,这会在底层" -"系统和项目卷上产生各种各样的问题。您必需重新配置 LVM,仅仅扫描包含了 " -"cinder-volume 卷组的设备。修改配置文件 /etc/lvm/" -"lvm.conf 并完成以下操作:" - -msgid "OpenStack" -msgstr "OpenStack" - -msgid "OpenStack Foundation" -msgstr "OpenStack基金会" - -msgid "OpenStack Installation Guide" -msgstr "OpenStack安装指南" - -msgid "" -"OpenStack Installation Guide for Red Hat " -"Enterprise Linux 7, CentOS 7, and Fedora 21Ubuntu 14.04Debian 7openSUSE 13.2 and SUSE Linux Enterprise Server 12" -msgstr "" -"Red Hat Enterprise Linux 7, CentOS 7, and " -"Fedora 21Ubuntu 14.04Debian 7openSUSE 13.2 and SUSE " -"Linux Enterprise Server 12 的 OpenStack 安装手册" - -msgid "" -"OpenStack Installation Guide for " -msgstr "" -" 的 " -"OpenStack 安装手册" - -msgid "OpenStack Networking (neutron)" -msgstr "OpenStack 网络 (neutron)" - -msgid "" -"OpenStack Networking (neutron) manages all networking facets for the Virtual " -"Networking Infrastructure (VNI) and the access layer aspects of the Physical " -"Networking Infrastructure (PNI) in your OpenStack environment. OpenStack " -"Networking enables tenants to create advanced virtual network topologies " -"including services such as firewalls, load balancers, and virtual private networks (VPNs)." -msgstr "" -"OpenStack Networking (neutron) 管理您的OpenStack环境中虚拟网络基础设施 (VNI) " -"的所有方面和物理网络基础设施 (PNI) 的接入层方面。OpenStack Networking 允许租" -"户创建高级虚拟网络拓扑,包括防火墙负载均衡和" -"虚拟私有网络(VPNs)等服务。" - -msgid "OpenStack ceilometer daemons" -msgstr "OpenStack ceilometer守护进程" - -msgid "OpenStack cinder daemons" -msgstr "OpenStack Cinder 守护进程" - -msgid "" -"OpenStack generates IDs dynamically, so you will see different values in the " -"example command output." -msgstr "" -"OpenStack 是动态生成 ID 的,因此您看到的输出会与示例中的命令行输出不相同。" - -msgid "OpenStack glance daemons" -msgstr "OpenStack Glance 守护进程" - -msgid "OpenStack heat daemons" -msgstr "OpenStack Heat 守护进程" - -msgid "" -"OpenStack is highly configurable to meet different needs with various " -"compute, networking, and storage options. This guide enables you to choose " -"your own OpenStack adventure using a combination of core and optional " -"services. This guide uses the following example architectures:" -msgstr "" -"OpenStack 是高度可配置的,以满足各种计算、网络和存储选项的需要。本指南使您能" -"够选择使用内核的组合以及可选的服务来开启自己的 OpenStack 冒险之旅。本指南使用" -"以下架构样例:" - -msgid "OpenStack keystone daemons" -msgstr "OpenStack Keystone 守护进程" - -msgid "OpenStack neutron daemons" -msgstr "OpenStack Neutron 守护进程" - -msgid "OpenStack nova daemons" -msgstr "OpenStack Nova 守护进程" - -msgid "OpenStack packages" -msgstr "OpenStack包" - -msgid "" -"OpenStack provides an Infrastructure-as-a-Service (IaaS) solution through a variety of complemental services. Each " -"service offers an application programming interface (API) that facilitates this integration. The following table provides " -"a list of OpenStack services:" -msgstr "" -"OpenStack 通过各种各样的补充服务提供基础设施即服务 (IaaS) 的解决方案。每个服务都提供了应用程序接口 (API),这样有利于集成。下面表格中列出了 OpenStack 的服务列表:" - -msgid "" -"OpenStack reserves certain user IDs to run specific services and own " -"specific files. These user IDs are set up according to the distribution " -"packages. The following table gives an overview." -msgstr "" -"OpenStack 保留特定的用户 ID 来运行特定的服务和自己的特定文件。这些用户 ID 是" -"根据发行版的包设置的。下面的表格是一个预览。" - -msgid "" -"OpenStack services support various security methods including password, " -"policy, and encryption. Additionally, supporting services including the " -"database server and message broker support at least password security." -msgstr "" -"OpenStack 服务支持各种各样的安全方式,包括密码 password、policy 和 " -"encryption,支持的服务包括数据库服务器,且消息 broker 至少支持 password 的安" -"全方式。" - -msgid "OpenStack swift daemons" -msgstr "OpenStack Swift 守护进程" - -msgid "OpenStack trove daemons" -msgstr "OpenStack Trove 守护进程" - -msgid "" -"OpenStack uses three API endpoint variants for each service: admin, " -"internal, and public. The admin API endpoint allows modifying users and " -"tenants by default, while the public and internal APIs do not. In a " -"production environment, the variants might reside on separate networks that " -"service different types of users for security reasons. For instance, the " -"public API network might be reachable from outside the cloud for management " -"tools, the admin API network might be protected, while the internal API " -"network is connected to each host. Also, OpenStack supports multiple regions " -"for scalability. For simplicity, this guide uses the management network for " -"all endpoint variations and the default RegionOne region." -msgstr "" -"OpenStack 为每个服务提供了三个 API 端点的值:admin、internal 和 public。" -"admin API 端点默认允许修改用户和租户,而 public 和 internal API 不允许。在生" -"产环境中,出于安全考虑,这些变量可能设置在服务于不同类型用户的隔离网络中。例" -"如,public API 网络也许可以从外部云被管理工具访问到,admin API 网络会被保护," -"而 internal API 网络是连接到每台主机上的。而且,OpenStack 为了可扩展性,支持" -"多个区域。简单来说,这个配置给所有端点变量和 regionOne 区" -"域使用管理网络。" - -msgid "Optionally, configure the time zone:" -msgstr "可以选择性地配置时区:" - -msgid "" -"Optionally, the Block Storage node runs a Telemetry agent to collect meters. " -"Also, it can contain a second network interface on a separate storage " -"network to improve performance of storage services." -msgstr "" -"可选地,可以在块设备存储节点运行 Telemetry 来收集 meters。并且,它可以在一个" -"隔离的存储网络上设置第二个网络接口,来增增加存储服务的性能。" - -msgid "" -"Optionally, the compute node runs a Telemetry agent to collect meters. Also, " -"it can contain a third network interface on a separate storage network to " -"improve performance of storage services." -msgstr "" -"可选地,可以在计算节点运行 Telemetry 代理来收集meters。而且,它可以在一个隔离" -"的存储网络上设置第三个网络接口,以增加存储服务的性能。" - -msgid "" -"Optionally, the controller node runs portions of Block Storage, Object " -"Storage, Orchestration, Telemetry, Database, and Data processing services. " -"These components provide additional features for your environment." -msgstr "" -"可选地,可以在控制节点运行块设备存储、对象存储、流程、监控、数据库和数据处理" -"服务的一部分。这些组件可以为您的环境提供额外的功能。" - -msgid "" -"Optionally, these nodes can contain a second network interface on a separate " -"storage network to improve performance of storage services." -msgstr "" -"可选地,这些节点可以在一个隔离的存储网络上设置第二个网络接口,来增加存储服务" -"的性能。" - -msgid "Other nodes" -msgstr "其它节点服务器" - -msgid "Overview" -msgstr "概况" - -msgid "PACKAGE-NAME" -msgstr "PACKAGE-NAME" - -msgid "PASSWORD" -msgstr "密码" - -msgid "Perform these commands on the controller node." -msgstr "在控制节点上执行这些命令。" - -msgid "Perform these steps on each storage node." -msgstr "在每个存储节点上执行这些步骤。" - -msgid "" -"Perform these steps on the controller and any other nodes that run the " -"Object Storage proxy service." -msgstr "在控制节点上执行这些步骤,在其他节点上运行对象存储的代理服务。" - -msgid "Perform these steps on the controller node." -msgstr "在控制节点上执行这些步骤。" - -msgid "Permit ICMP (ping):" -msgstr "允许 ICMP (ping):" - -msgid "" -"Permit configuration, write, and read access for the openstack user:" -msgstr "为openstack用户开启配置,读写权限:" - -msgid "Permit secure shell (SSH) access:" -msgstr "允许安全 shell (SSH) 的访问:" - -msgid "Populate the Block Storage database:" -msgstr "初始化块设备服务的数据库:" - -msgid "Populate the Compute database:" -msgstr "同步Compute 数据库:" - -msgid "Populate the Identity service database:" -msgstr "初始化身份认证服务的数据库:" - -msgid "Populate the Image service database:" -msgstr "写入镜像服务数据库:" - -msgid "Populate the Orchestration database:" -msgstr "同步Orchestration数据库:" - -msgid "Populate the database:" -msgstr "同步数据库:" - -msgid "Pre-seed debconf prompts" -msgstr "预置debconf的提示输入" - -msgid "Prepare the Database service:" -msgstr "准备数据库服务:" - -msgid "Prepare the trove admin database:" -msgstr "准备trove管理员数据库:" - -msgid "Prerequisites" -msgstr "先决条件" - -msgid "" -"Proceed to network configuration for the example OpenStack Networking (neutron) or legacy networking (nova-network) " -"architecture." -msgstr "" -"为架构样例中的 OpenStack " -"Networking (neutron) 或 legacy networking (nova-network) 进行网络配置。" - -msgid "" -"Provide users with a public IP address, a username, and a password so they " -"can access the dashboard through a web browser. In case of any SSL " -"certificate connection problems, point the server IP address to a domain " -"name, and give users access." -msgstr "" -"给用户提供公共IP地址、用户名和密码,这样就可以通过web浏览器访问控制面板。在遇" -"到任何SSL认证连接问题的情况下,指向服务IP到一个域名,让用户访问。" - -msgid "RABBIT_PASS" -msgstr "RABBIT_PASS" - -msgid "" -"RHEL and CentOS enable SELinux by default. Install " -"the openstack-selinux package to automatically manage " -"security policies for OpenStack services:" -msgstr "" -"RHEL 和 CentOS 默认启用了SELinux。安装 " -"openstack-selinux 的包来为 OpenStack 服务自动管理安全策" -"略:" - -msgid "RabbitMQ credentials parameters" -msgstr "RabbitMQ认证信息参数" - -msgid "Rebalance the ring:" -msgstr "平衡 ring:" - -msgid "Reboot the system to activate the changes." -msgstr "重启系统以激活修改。" - -msgid "" -"Reconfiguring network interfaces will interrupt network connectivity. We " -"recommend using a local terminal session for these procedures." -msgstr "" -"重新配置网络接口会中断网络连接。我们建议使用本地终端会话来进行这个过程。" - -msgid "Red Hat Enterprise Linux, CentOS, and Fedora" -msgstr "Red Hat Enterprise Linux, CentOS, 和 Fedora" - -msgid "Register API endpoints" -msgstr "注册API端点" - -msgid "" -"Regular (non-admin) tasks should use an unprivileged project and user. As an " -"example, this guide creates the demo project and user." -msgstr "" -"常规(非管理)任务应该使用一个非特权项目和用户。比如,本手册创建demo 项目和用户。" - -msgid "Reload the web server configuration:" -msgstr "重新加载web服务器配置:" - -msgid "" -"Remove the /var/lib/ntp/ntp.conf.dhcp file if it exists." -msgstr "" -"如果存在文件 /var/lib/ntp/ntp.conf.dhcp,那么将它删除。" - -msgid "" -"Remove the previously downloaded image file /tmp/cirros.img:" -msgstr "移除先前下载的镜像文件 /tmp/cirros.img:" - -msgid "Remove the temporary local directory and source image:" -msgstr "移除临时本地目录和源镜像:" - -msgid "" -"Repeat this command for each storage device on each storage node. In the " -"example architecture, use the command in four variations:" -msgstr "" -"在每个存储节点上面重复执行这个命令。在这个例子的架构中,使用该命令的四个变" -"量:" - -msgid "" -"Replace ADMIN_PASS with the password you chose for the " -"admin user in the Identity service." -msgstr "" -"将其中的 ADMIN_PASS 替换为您在身份认证服务中为 " -"admin 用户设置的密码。" - -msgid "" -"Replace DEMO_PASS with the password you chose for the " -"demo user in the Identity service." -msgstr "" -"将其中的 DEMO_PASS 替换为您在身份认证服务中为 " -"demo 用户设置的密码。" - -msgid "" -"Replace NOVA_PASS with the password you chose for the " -"nova user in the Identity service." -msgstr "" -"将其中的 NOVA_PASS 替换为您在身份认证服务中为 " -"nova 用户设置的密码。" - -msgid "" -"Replace ADMIN_TOKEN with the authentication token " -"that you generated in . For example:" -msgstr "" -"将其中的 ADMIN_TOKEN 替换为您在 中生成的管理员令牌。例如:" - -msgid "" -"Replace ADMIN_TOKEN with the random value that " -"you generated in a previous step." -msgstr "" -"将 ADMIN_TOKEN 替换为上一步中生成的随机字符串。" - -msgid "" -"Replace CEILOMETER_DBPASS with a suitable " -"password." -msgstr "" -"将其中的 CEILOMETER_DBPASS 替换为一个合适的密码。" - -msgid "" -"Replace CEILOMETER_DBPASS with the password you " -"chose for the Telemetry module database. You must escape special characters " -"such as ':', '/', '+', and '@' in the connection string in accordance with " -"RFC2396." -msgstr "" -"将其中的 CEILOMETER_DBPASS 替换为您为 Telemetry 模" -"块数据库所设置的密码。在给定的 RFC2396 字符串连接中,要避开一些特殊字符,例" -"如 ':', '/', '+' 和 '@'。" - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the ceilometer user in the Identity service." -msgstr "" -"将其中的 CEILOMETER_PASS 替换为您在身份认证服务中" -"为 ceilometer 用户所设置的密码。" - -msgid "" -"Replace CEILOMETER_PASS with the password you " -"chose for the Telemetry module database." -msgstr "" -"将其中的 CEILOMETER_PASS 替换为您为 Telemetry 模块" -"数据库所设置的密码。" - -msgid "" -"Replace CINDER_DBPASS with a suitable password." -msgstr "将 CINDER_DBPASS 替换为实际的密码。" - -msgid "" -"Replace CINDER_DBPASS with the password you chose " -"for the Block Storage database." -msgstr "" -"将 CINDER_DBPASS 替换为之前为块设备服务数据库设定" -"的密码。" - -msgid "" -"Replace CINDER_PASS with the password you chose " -"for the cinder user in the Identity service." -msgstr "" -"将 CINDER_PASS 替换为在身份认证服务中为 cinder 用" -"户配置的密码。" - -msgid "" -"Replace DEMO_NET_ID with the ID of the " -"demo-net tenant network." -msgstr "" -"将其中的 DEMO_NET_ID 替换为 demo-net 租户网络的 ID。" - -msgid "" -"Replace FILE with the name of a local file to " -"upload to the demo-container1 container." -msgstr "" -"将其中的 FILE 替换为要上传到 demo-" -"container1 容器上的本地文件的名称。" - -msgid "" -"Replace FILE with the name of the file uploaded " -"to the demo-container1 container." -msgstr "" -"将其中的 FILE 替换为上传到 demo-" -"container1 容器的文件的名称。" - -msgid "" -"Replace FLOATING_IP_START and " -"FLOATING_IP_END with the first and last IP " -"addresses of the range that you want to allocate for floating IP addresses. " -"Replace EXTERNAL_NETWORK_CIDR with the subnet " -"associated with the physical network. Replace " -"EXTERNAL_NETWORK_GATEWAY with the gateway " -"associated with the physical network, typically the \".1\" IP address. You " -"should disable DHCP on this subnet because instances " -"do not connect directly to the external network and floating IP addresses " -"require manual assignment." -msgstr "" -"使用您想用来分配给浮动IP的第一个和最后一个IP地址来替换" -"FLOATING_IP_STARTFLOATING_IP_END。用和物理网络相关联的子网替换" -"EXTERNAL_NETWORK_CIDR。 用和物理网络相关联的网关替" -"换 EXTERNAL_NETWORK_GATEWAY 常见的是 \".1\" IP 地" -"址。您应该关闭此子网上的DHCP,因为实例不直接连接到外部" -"网络,并且浮动IP需要手工分配。" - -msgid "" -"Replace GLANCE_DBPASS with a suitable password." -msgstr "" -"将其中的 GLANCE_DBPASS 替换为一个合适的密码。" - -msgid "" -"Replace GLANCE_DBPASS with the password you chose " -"for the Image service database." -msgstr "" -"将其中的 GLANCE_DBPASS 替换为您为镜像服务数据库所" -"设置的密码。" - -msgid "" -"Replace GLANCE_PASS with the password you chose " -"for the glance user in the Identity service." -msgstr "" -"将其中的 GLANCE_PASS 替换为您在身份认证服务中为 " -"glance 用户所设置的密码。" - -msgid "" -"Replace HASH_PATH_PREFIX and " -"HASH_PATH_SUFFIX with unique values." -msgstr "" -"将其中的 HASH_PATH_PREFIX 和 " -"HASH_PATH_SUFFIX 替换为唯一的值。" - -msgid "" -"Replace HEAT_DBPASS with a suitable password." -msgstr "将其中的 HEAT_DBPASS 替换为一个合适的密码。" - -msgid "" -"Replace HEAT_DBPASS with the password you chose " -"for the Orchestration database." -msgstr "" -"将其中的 HEAT_DBPASS 替换为您为 Orchestration 数据" -"库所设置的密码。" - -msgid "" -"Replace HEAT_DOMAIN_PASS with a suitable password." -msgstr "将 HEAT_DBPASS 替换为一个合适的密码。" - -msgid "" -"Replace HEAT_DOMAIN_PASS with the password you " -"chose for the admin user of the heat user domain in the " -"Identity service." -msgstr "" -"将其中的 HEAT_PASS 替换为您在身份认证服务中为 " -"heat用户域的 admin用户设置的密码。" - -msgid "" -"Replace HEAT_PASS with the password you chose for " -"the heat user in the Identity service." -msgstr "" -"将其中的 HEAT_PASS 替换为您在身份认证服务中为 " -"heat 用户设置的密码。" - -msgid "" -"Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"with the IP address of the instance tunnels network interface on your " -"compute node." -msgstr "" -"将其中的 INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS 替" -"换为计算节点上的实例隧道网络接口的 IP 地址。" - -msgid "" -"Replace INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS " -"with the IP address of the instance tunnels network interface on your " -"network node." -msgstr "" -"将其中的 INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS 替" -"换为网络节点上实例隧道网络接口的 IP 地址。" - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name for the external network. For example, eth1 or " -"ens224. You can also leave these two parameters " -"undefined if you are serving multiple networks with individual bridges for " -"each." -msgstr "" -"将其中的 INTERFACE_NAME 替换为一个实际的外部网络的" -"接口名称。例如 eth1ens224。如果" -"您是用单独的桥接服务多网络,您也可以不定义这两个参数。" - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth1 or ens224." -msgstr "" -"将其中的 INTERFACE_NAME 替换为实际的接口名称。例" -"如,eth1ens224。" - -msgid "" -"Replace INTERFACE_NAME with the actual interface " -"name. For example, eth2 or ens256." -msgstr "" -"将其中的 INTERFACE_NAME 替换为实际的接口名称。例" -"如,eth2ens256。" - -msgid "" -"Replace KEYSTONE_DBPASS with a suitable password." -msgstr "将 KEYSTONE_DBPASS 替换为实际的密码。" - -msgid "" -"Replace KEYSTONE_DBPASS with the password you " -"chose for the database." -msgstr "" -"将 KEYSTONE_DBPASS 替换为实际的数据库用户的密码。" - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your compute node, " -"typically 10.0.0.31 for the first node in the example architecture." -msgstr "" -"将其中的 MANAGEMENT_INTERFACE_IP_ADDRESS 替换为计" -"算节点上的管理网络接口的 IP 地址,典型的例子是架构样例中第一台节点的 " -"10.0.0.31 地址。" - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network interface on your storage node, " -"typically 10.0.0.41 for the first node in the example architecture." -msgstr "" -"将其中的 MANAGEMENT_INTERFACE_IP_ADDRESS 替换为您" -"存储节点的管理网络接口的 IP 地址,正如样例架构中的第一个节点的 10.0.0.41 地址。" - -msgid "" -"Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the " -"IP address of the management network on the storage node." -msgstr "" -"将其中的 MANAGEMENT_INTERFACE_IP_ADDRESS 替换为存" -"储节点上的管理网络接口的 IP 地址。" - -msgid "" -"Replace METADATA_SECRET with a suitable secret " -"for the metadata proxy." -msgstr "" -"将其中的 METADATA_SECRET 替换为一个合适的 " -"metadata 代理的 secret。" - -msgid "" -"Replace METADATA_SECRET with the secret you chose " -"for the metadata proxy." -msgstr "" -"将其中的 METADATA_SECRET 替换为您为 metadata 代理" -"所设置的 secret。" - -msgid "" -"Replace NETWORK_CIDR with the subnet associated " -"with the physical network." -msgstr "" -"将其中的 NETWORK_CIDR 替换为与物理网络相关的子网。" - -msgid "" -"Replace NEUTRON_DBPASS with a suitable password." -msgstr "" -"将其中的 NEUTRON_DBPASS 替换为一个合适的密码。" - -msgid "" -"Replace NEUTRON_DBPASS with the password you " -"chose for the database." -msgstr "" -"将其中的 NEUTRON_DBPASS 替换为您为数据库所设置的密" -"码。" - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"for the neutron user in the Identity service." -msgstr "" -"将其中的 NEUTRON_PASS 替换为您在身份认证服务中为 " -"neutron 用户所设置的密码。" - -msgid "" -"Replace NEUTRON_PASS with the password you chose " -"or the neutron user in the Identity service." -msgstr "" -"将其中的 NEUTRON_PASS 替换为您在身份认证服务中为 " -"neutron 用户所设置的密码。" - -msgid "" -"Replace NOVA_DBPASS with a suitable password." -msgstr "将其中的 NOVA_DBPASS 替换为一个合适的密码。" - -msgid "" -"Replace NOVA_DBPASS with the password you chose " -"for the Compute database." -msgstr "" -"将其中的 NOVA_DBPASS 替换为您之前为 Compute 数据设" -"置的密码。" - -msgid "" -"Replace NOVA_PASS with the password you chose for " -"the nova user in the Identity service." -msgstr "" -"将其中的 NOVA_PASS 替换为您之前在身份认证服务中为 " -"nova 用户设置的密码。" - -msgid "" -"Replace NTP_SERVER with the hostname or IP " -"address of a suitable more accurate (lower stratum) NTP server. The " -"configuration supports multiple server keys." -msgstr "" -"将其中的 NTP_SERVER 替换为主机名或一个更准确的 " -"(lower stratum) NTP 服务器的 IP 地址。这个配置支持多个 server 关键字。" - -msgid "" -"Replace RABBIT_PASS with a suitable password." -msgstr "将其中的 RABBIT_PASS 替换为一个合适的密码。" - -msgid "" -"Replace RABBIT_PASS with the password you chose " -"for the openstack account in RabbitMQ." -msgstr "" -"将其中的 RABBIT_PASS 替换为您在 " -"RabbitMQ 中为 openstack 帐户设" -"置的密码。" - -msgid "" -"Replace SAHARA_DBPASS with a suitable password." -msgstr "" -"将其中的 SAHARA_DBPASS 替换为您设置的一个合适的密" -"码。" - -msgid "" -"Replace STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network on the storage " -"node. Replace DEVICE_NAME with a storage device " -"name on the same storage node. For example, using the first storage node in " -" with the /dev/sdb1 storage device and weight of 100:" -msgstr "" -"将其中的 STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS 替换为存储节点上的管理网络的 IP 地址。将其中的 " -"DEVICE_NAME 替换为同一个存储节点上的一个存储设备的" -"名称。例如,使用 中的第一个存" -"储节点的 /dev/sdb1 存储设备,大小为 100:" - -msgid "" -"Replace SWIFT_PASS with the password you chose " -"for the swift user in the Identity service." -msgstr "" -"将 SWIFT_PASS 替换为在身份认证服务中为 " -"swift 用户配置的密码。" - -msgid "" -"Replace TELEMETRY_SECRET with the telemetry " -"secret that you generated in a previous step." -msgstr "" -"将其中的 TELEMETRY_SECRET 替换为您在上述步骤中生成" -"的 telemetry secret。" - -msgid "" -"Replace TELEMETRY_SECRET with the telemetry " -"secret you chose for the Telemetry module." -msgstr "" -"将其中的 TELEMETRY_SECRET 替换为您为 Telemetry 模" -"块设置的 telemetry secret。" - -msgid "" -"Replace TENANT_NETWORK_CIDR with the subnet you " -"want to associate with the tenant network and " -"TENANT_NETWORK_GATEWAY with the gateway you want " -"to associate with it, typically the \".1\" IP address." -msgstr "" -"将其中的 TENANT_NETWORK_CIDR 替换为您想关联到租户" -"网络的子网并替换 TENANT_NETWORK_GATEWAY 为您想关联" -"的子网的网关,一般是 \".1\" IP 地址。" - -msgid "Request an authentication token:" -msgstr "请求认证令牌:" - -msgid "Reserved user IDs" -msgstr "保留的用户ID" - -msgid "" -"Respond to prompts for database " -"management, Identity " -"service credentials, service " -"endpoint registration, and message " -"broker credentials." -msgstr "" -"回答 数据库管理、身份认证服务证书、服务端点注册和消息代理证书 相关的提示。" - -msgid "" -"Respond to prompts for database " -"management, Identity " -"service credentials, service " -"endpoint registration, and message " -"queue credentials." -msgstr "" -"回应 database management、" -"Identity service credentialsservice endpoint " -"registration 和 message queue " -"credentials 的提示。" - -msgid "" -"Respond to prompts for , which " -"will fill the below database access directive." -msgstr "" -"回答 的提示,即填写以下数据库访问" -"的指令。" - -msgid "" -"Respond to prompts for the volume group to associate with the Block Storage " -"service. The script scans for volume groups and attempts to use the first " -"one. If your system only contains the cinder-volumes " -"volume group, the script should automatically choose it." -msgstr "" -"回应卷组的提示,以关联到块设备存储服务。脚本会扫描卷组并尝试使用第一个卷组。" -"如果您的系统仅仅包含了 cinder-volumes 卷组,脚本将自动地将" -"其选择。" - -msgid "Respond to prompts for web server configuration." -msgstr "回应 web 服务器配置的提示。" - -msgid "" -"Respond to the prompts for database management and [keystone_authtoken] settings, and API endpoint registration. The " -" command runs automatically." -msgstr "" -"回应 database management 和 " -"[keystone_authtoken] 设置,以及 API " -"endpoint 注册的提示。 命令会自动执行。" - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials.." -msgstr "" -"回答 数据库管理、身份认证服务证书、服务端点注册和消息代理证书 相关的提示。" - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message broker credentials." -msgstr "" -"根据 数据库管理、身份认证服务证书、服务端点注册、消息代理证书 等提示填写相应的配置信息。" - -msgid "" -"Respond to the prompts for database management, Identity service credentials, service endpoint registration, and message queue credentials.." -msgstr "" -"回应 database management、" -"Identity service credentialsservice endpoint " -"registration 和 message queue " -"credentials 的提示。" - -msgid "Restart the Apache HTTP server:" -msgstr "重启Apache HTTP服务器" - -msgid "Restart the Block Storage services on the controller node:" -msgstr "重启控制节点上的块设备存储服务:" - -msgid "Restart the Block Storage services on the storage nodes:" -msgstr "重启存储节点上的块设备存储服务:" - -msgid "Restart the Block Storage services:" -msgstr "重启块设备存储服务:" - -msgid "Restart the Block Storage volume service including its dependencies:" -msgstr "重启块存储卷服务及其依赖的服务:" - -msgid "Restart the Compute service:" -msgstr "重启计算服务:" - -msgid "Restart the Compute services:" -msgstr "重启 Compute 服务:" - -msgid "Restart the Database services:" -msgstr "重启数据库服务:" - -msgid "Restart the Image service services:" -msgstr "重启镜像服务:" - -msgid "Restart the Image service:" -msgstr "重启镜像服务:" - -msgid "Restart the MongoDB service:" -msgstr "启动MongoDB服务:" - -msgid "Restart the NTP service:" -msgstr "重启 NTP 服务:" - -msgid "Restart the Networking service:" -msgstr "重启 Networking 服务:" - -msgid "Restart the Networking services:" -msgstr "重启 Networking 服务:" - -msgid "Restart the OVS service:" -msgstr "重启 OVS 服务:" - -msgid "Restart the Object Storage proxy service:" -msgstr "重启对象存储的代理服务:" - -msgid "Restart the Open vSwitch (OVS) agent:" -msgstr "重启 Open vSwitch (OVS) 代理:" - -msgid "Restart the Orchestration services:" -msgstr "重启Orchestration服务:" - -msgid "Restart the Telemetry services:" -msgstr "重启Telemetry服务:" - -msgid "Restart the agent:" -msgstr "重启代理:" - -msgid "Restart the database service:" -msgstr "重启数据库服务:" - -msgid "Restart the services:" -msgstr "重启服务:" - -msgid "Retrieve the sahara clusters list:" -msgstr "获取 sahara 集群列表:" - -msgid "Retrieve the trove instances list:" -msgstr "获取 Trove 实例列表:" - -msgid "" -"Retrieve usage statistics from the image.download meter:" -msgstr "从 image.download meter 中获取使用统计数据:" - -msgid "Run the following command to install the packages:" -msgstr "运行以下命令来安装包。" - -msgid "Run the following commands to install the packages:" -msgstr "运行以下命令安装软件包:" - -msgid "Run this command on all other nodes:" -msgstr "在所有节点上执行这个命令:" - -msgid "Run this command on the controller node:" -msgstr "在控制节点上执行这个命令:" - -msgid "SAHARA_DBPASS" -msgstr "SAHARA_DBPASS" - -msgid "SQL database" -msgstr "SQL数据库" - -msgid "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" -msgstr "STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS" - -msgid "SUSE does not use a separate ML2 plug-in package." -msgstr "SUSE 不使用单独的 ML2 插件包。" - -msgid "SWIFT_PASS" -msgstr "SWIFT_PASS" - -msgid "" -"Secure the database service including choosing a suitable password for the " -"root account:" -msgstr "对数据库进行安全加固(包括为数据库用户 root 设置适当的密码):" - -msgid "Secure the database service:" -msgstr "对数据库进行安全加固:" - -msgid "Security" -msgstr "安全" - -msgid "" -"Select the keystone pipeline to configure the Image " -"service to use the Identity service:" -msgstr "" -"选择 keystone 管道以配置镜像服务来使用身份认证服务:" - -msgid "Select the ML2 plug-in:" -msgstr "选择 ML2 插件:" - -msgid "" -"Selecting the ML2 plug-in also populates the and " -" options in the /etc/neutron/neutron.conf file with the appropriate values." -msgstr "" -"选择ML2插件也会在/etc/neutron/neutron.conf文件中的" -" 选项中填充适当的值。 " - -msgid "Services and the [keystone_authtoken]" -msgstr "服务和[keystone_authtoken]" - -msgid "" -"Set the hostname of the node to controller." -msgstr "" -"将节点的主机名设置为 controller。" - -msgid "Set the hostname of the node to compute1." -msgstr "将该节点的主机名设置为 compute1。" - -msgid "Set the hostname of the node to network." -msgstr "将该节点的主机名设置为 network。" - -msgid "Set the hostname of the node to block1." -msgstr "设置节点的主机名为block1." - -msgid "Set the hostname of the node to object1." -msgstr "将节点的主机名设置为 object1。" - -msgid "Set the hostname of the node to object2." -msgstr "将节点的主机名设置为 object2。" - -msgid "Show the service status:" -msgstr "显示服务状态:" - -msgid "" -"Similarly, if your compute nodes use LVM on the operating system disk, you " -"must also modify the filter in the /etc/lvm/lvm.conf file " -"on those nodes to include only the operating system disk. For example, if " -"the /dev/sda device contains the operating system:" -msgstr "" -"类似地,如果您的计算节点在操作系统磁盘上使用了 LVM,您也必需修改这些节点上 " -"/etc/lvm/lvm.conf 文件中的过滤器,将操作系统磁盘包含到过滤" -"器中。例如,如果 /dev/sda 设备包含了操作系统:" - -msgid "" -"So, if using Debian, you wont need to care about database creation, access " -"rights and character sets. All that is handled for you by the packages." -msgstr "" -"因此,如果使用的是 Debian 系统,您将不需要关心数据库的创建、访问权限以及属性" -"的配置。所有这些都由包来处理。" - -msgid "" -"Some OpenStack packages generate and assign user IDs automatically during " -"package installation. In these cases, the user ID value is not important. " -"The existence of the user ID is what matters." -msgstr "" -"一些 OpenStack 的包在安装过程中会自动生成和分配用户 ID。在这些情况下,用户 " -"ID 的值是不重要的。用户 ID 的存在才是重要的。" - -msgid "" -"Some cloud images ignore the DHCP MTU option in which case you should " -"configure it using metadata, a script, or another suitable method." -msgstr "" -"一些云镜像会忽略 DHCP MTU 选项,在这种情况下,您要配置其使用 metadata、一个脚" -"本或其他合适方法。" - -msgid "" -"Some distributions add an extraneous entry in the /etc/hosts file that resolves the actual hostname to another loopback IP " -"address such as 127.0.1.1. You must comment out or remove " -"this entry to prevent name resolution problems." -msgstr "" -"一些发行版在/etc/hosts文件添加额外入口解析主机名到另外的" -"回环IP地址,比如 127.0.1.1。你必须注释或移除这些入口点避免" -"地址解析问题。" - -msgid "Some distributions include LVM by default." -msgstr "一些发行版默认包含了LVM。" - -msgid "Source the demo-openrc.sh file." -msgstr "Source demo-openrc.sh 文件。" - -msgid "" -"Source the admin credentials to gain access to admin-only " -"CLI commands." -msgstr "" -"Source admin 凭证来获取访问只有管理员可以执行的 CLI 命令:" - -msgid "" -"Source the admin credentials to gain access to admin-only " -"CLI commands:" -msgstr "导入 admin 身份凭证以执行管理员用户专有的命令:" - -msgid "Source the admin tenant credentials:" -msgstr "Source admin 租户凭证:" - -msgid "" -"Source the demo credentials to gain access to user-only " -"CLI commands:" -msgstr "" -"Source demo 凭证来获取访问只有用户可以执行的 CLI 命令:" - -msgid "" -"Source the demo credentials to perform the following " -"steps as a non-administrative project:" -msgstr "" -"Source demo 租户凭证,以非管理员租户的身份来执行下列步骤:" - -msgid "Source the demo credentials:" -msgstr "Source the demo租户凭证:" - -msgid "Source the demo tenant credentials:" -msgstr "Source demo 租户凭证:" - -msgid "Start the rsync service:" -msgstr "启动rsync服务:" - -msgid "" -"Start the rsyncd service and " -"configure it to start when the system boots:" -msgstr "" -"启动 rsync 服务并将其设置为随系统启" -"动:" - -msgid "" -"Start the Block Storage services and configure them to start when the system " -"boots:" -msgstr "启动块设备存储服务,并将其配置为开机自启:" - -msgid "" -"Start the Block Storage volume service including its dependencies and " -"configure them to start when the system boots:" -msgstr "启动块存储卷服务及其依赖的服务,并将其配置为随系统启动:" - -msgid "" -"Start the Compute service including its dependencies and configure them to " -"start automatically when the system boots:" -msgstr "启动计算服务及其依赖,并将其配置为随系统自动启动:" - -msgid "" -"Start the Compute services and configure them to start when the system boots:" -msgstr "启动 Compute 服务并将其设置为随系统启动:" - -msgid "" -"Start the Data processing service and configure it to start when the system " -"boots: " -msgstr "启动数据处理服务和配置它随机启动:" - -msgid "" -"Start the Database services and configure them to start when the system " -"boots:" -msgstr "启动数据库服务并将其设置为随系统启动:" - -msgid "" -"Start the Image service services and configure them to start when the system " -"boots:" -msgstr "启动镜像服务并将其配置为随系统启动:" - -msgid "" -"Start the LVM metadata service and configure it to start when the system " -"boots:" -msgstr "启动LVM的metadata服务并且设置该服务随系统启动:" - -msgid "" -"Start the Memcached service and configure it to start when the system boots:" -msgstr "启动Memcached服务,并且配置它随机启动。" - -msgid "" -"Start the MongoDB services and configure them to start when the system boots:" -msgstr "启动 MongoDB 服务并将其配置为随系统启动:" - -msgid "Start the NTP service and configure it to start when the system boots:" -msgstr "启动 NTP 服务将将其配置为随系统启动:" - -msgid "" -"Start the Networking service and configure it to start when the system boots:" -msgstr "启动 Networking 服务并将其配置为随系统启动:" - -msgid "" -"Start the Networking services and configure them to start when the system " -"boots:" -msgstr "启动 Networking 服务并将其配置为随系统启动:" - -msgid "Start the OVS service and configure it to start when the system boots:" -msgstr "启动 OVS 服务并将其配置为随系统启动:" - -msgid "" -"Start the Open vSwitch (OVS) agent and configure it to start when the system " -"boots:" -msgstr "启动 Open vSwitch (OVS) 代理并将其配置为随系统启动:" - -msgid "" -"Start the Orchestration services and configure them to start when the system " -"boots:" -msgstr "启动 Orchestration 服务并将其设置为随系统启动:" - -msgid "" -"Start the Telemetry agent and configure it to start when the system boots:" -msgstr "启动 Telemetry 代理并将其配置为随系统启动:" - -msgid "" -"Start the Telemetry services and configure them to start when the system " -"boots:" -msgstr "启动Telemetry服务并将其配置为随系统启动:" - -msgid "" -"Start the database service and configure it to start when the system boots:" -msgstr "启动数据库服务,并将其配置为开机自启:" - -msgid "" -"Start the message queue service and configure it to start when the system " -"boots:" -msgstr "启动消息队列服务并将其配置为随系统启动:" - -msgid "Start the services and configure them to start when the system boots:" -msgstr "启动服务并设置为随系统启动:" - -msgid "" -"Start the web server and session storage service and configure them to start " -"when the system boots:" -msgstr "启动 web 服务器和会话存储服务,并将其配置为随系统启动:" - -msgid "" -"Switch to the [DEFAULT] section. Proceed to the " -"networking parameters. If you are using Neutron for networking, then set " -"use_neutron=true. Otherwise if you are using " -"nova-network set the given parameter to " -"false." -msgstr "" -"切换到 [DEFAULT] 部分。继续配置网络参数。如果您使用的是 " -"Neutron 网络,那么请设置 use_neutron=true。否则,如果您使" -"用的是 nova-network,请将给定的参数设置为 " -"false。" - -msgid "" -"Switch to the [keystone_authtoken] section. The " -" option should point to the public Identity API endpoint. " -" should point to the admin Identity API endpoint. For " -"example: " -msgstr "" -"切换到 [keystone_authtoken] 段。 选项应该" -"指向公共认证API端点。 应该指向管理员认证API端点。比如" -":" - -msgid "TELEMETRY_SECRET" -msgstr "TELEMETRY_SECRET" - -msgid "TENANT_NETWORK_CIDR" -msgstr "TENANT_NETWORK_CIDR" - -msgid "TENANT_NETWORK_GATEWAY" -msgstr "TENANT_NETWORK_GATEWAY" - -msgid "TIME_ZONE" -msgstr "TIME_ZONE" - -msgid "TROVE_DBPASS" -msgstr "TROVE_DBPASS" - -msgid "TROVE_PASS" -msgstr "TROVE_PASS" - -msgid "" -"Telemetry provides a framework for monitoring and metering the OpenStack " -"cloud. It is also known as the ceilometer project." -msgstr "" -"Telemetry 提供一个监控和检测 OpenStack 云的框架。也就是大家所知道的 " -"ceilometer 项目。" - -msgid "" -"Telemetry uses a combination of notifications and an agent to collect " -"Compute meters. Perform these steps on each compute node." -msgstr "" -"Telemetry 通过结合使用通知和代理来收集Computer度量值。在每个计算节点上执行这" -"些步骤。" - -msgid "Tenant network" -msgstr "租户网络" - -msgid "" -"That should be enough for the first run. If you want to increase logging " -"level for troubleshooting, there are two parameters in the config: " -"verbose and debug. If the former is " -"set to true, sahara will start to write logs of " -"INFO level and above. If debug is set " -"to true, sahara will write all the logs, including the " -"DEBUG ones." -msgstr "" -"这些设置对于第一次运行来说已经足够了。如果您为故障排除而想要增加日志,这里有" -"两个配置文件中的参数可配置:verbosedebug。如果前一个参数设置为 true,sahara 会开始将 " -"INFO 级别及以上的内容写入日志。如果 debug 参数设置为 true,sahara 会写入所有的日志,包括 " -"DEBUG 的内容。" - -msgid "" -"The seen true option tells debconf that a " -"specified screen was already seen by the user so do not show it again. This " -"option is useful for upgrades." -msgstr "" -"seen true选项表示用户已经能够看到某个窗口,debconf无需创建一个新的。这个选项在升级的时候很有用。" - -msgid "" -"The metadata agent " -"provides configuration information such as credentials to instances." -msgstr "" -"metadata agent 提供一些配" -"置信息,如实例的凭据。" - -msgid "" -"The controller node runs the Identity service, Image Service, management portions of " -"Compute and Networking, Networking plug-in, and the dashboard. It also " -"includes supporting services such as a SQL database, message " -"queue, and Network Time Protocol (NTP)." -msgstr "" -"控制节点服务器运行" -"身份认证服务、镜像服务,管理部分计算和网络服务,运行网络插件以及仪表板。它还" -"包括一些支持服务,例如 SQL 数据库、消息队列和" -"网络时间协议 (NTP)。" - -msgid "" -"The controller node runs the Identity service, Image service, management portion of " -"Compute, and the dashboard. It also includes supporting services such as a " -"SQL database, message queue, and Network " -"Time Protocol (NTP)." -msgstr "" -"控制节点运行身份认" -"证服务、镜像服务,管理部分计算和网络服务,运行网络插件以及仪表板。它还包括一" -"些支持服务,例如 SQL 数据库、消息队列网络" -"时间协议 (NTP)." - -msgid "" -"The DHCP agent provides DHCP services for virtual " -"networks." -msgstr "DHCP 代理为实例提供 DHCP 服务。" - -msgid "" -"The Juno release is available only in Debian " -"Experimental (otherwise called rc-buggy), as Jessie is frozen soon, and will " -"contain Icehouse. However, the Debian maintainers of OpenStack also maintain " -"a non-official Debian repository for OpenStack containing Wheezy backports." -msgstr "" -"Juno 的发布仅在 Debian Experimental 上可用 (否则称之" -"为 rc-buggy ),由于 Jessie 很快就要冰封,且将包括到 Icehouse。但是," -"OpenStack 的 Debian 维护人员也维护了一套非官方的 OpenStack 的 Debian 仓库,包" -"括了 Wheezy backports。" - -msgid "" -"The Layer-3 (L3) agent provides routing services for " -"virtual networks." -msgstr "Layer-3 (L3) 代理为虚拟网络提供路由服务。" - -msgid "" -"The OpenStack project is an open source cloud " -"computing platform that supports all types of cloud environments. The " -"project aims for simple implementation, massive scalability, and a rich set " -"of features. Cloud computing experts from around the world contribute to the " -"project." -msgstr "" -"OpenStack 项目是一个开源的云计算平台,支持所有类型的云" -"环境。项目的致力于简化实施、高可扩展性以及丰富的特性。全世界的云计算专家都在" -"为这个项目做贡献。" - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. Compute also provisions tenant networks and provides firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"计算节点运行 Compute 的 hypervisor 部分,它将操作 tenantvirtual machines 或实例。默认情况下," -"Compute 使用 KVM 作" -"为 hypervisor。Compute 也会提供租户网络和防火墙 " -"(security groups) 服务。您" -"可以运行不止一台计算节点。" - -msgid "" -"The compute node runs the hypervisor portion of Compute that operates tenantvirtual machines or instances. By default, Compute uses KVM as the hypervisor. The compute node also runs the Networking plug-in and an agent " -"that connect tenant networks to instances and provide firewalling " -"(security groups) " -"services. You can run more than one compute node." -msgstr "" -"控制节点运行 Compute 的hypervisor 部分,这个部分将操作 tenantvirtual machines 或实例。默认情" -"况下,Compute 使用 KVM 作为 hypervisor。计算节点也可以运行 " -"Networking 插件和代理,它们连接租户网络到虚拟机上,并提供防火墙 (security groups) 服务。您可以运行不止" -"一台计算节点。" - -msgid "" -"The launch an instance chapter " -"includes instructions for attaching this volume to an instance." -msgstr "" -"启动实例的章节包含了附加卷到一台实例" -"上的指南。" - -msgid "" -"The external_network_bridge option intentionally lacks a " -"value to enable multiple external networks on a single agent." -msgstr "" -"external_network_bridge 选项预留一个值用来在单个代理上面启" -"用多个外部网络。" - -msgid "" -"The swift client requires the -V 3 " -"parameter to use the Identity version 3 API." -msgstr "" -"swift客户端需要 -V 3 参数使用认证版本" -"V3 API。" - -msgid "" -"The dbconfig-common package will configure MySQL for " -"these access rights, and create the database for you. Since OpenStack " -"2014.1.1, all OpenStack packages in Debian are performing the following " -"MySQL query after database creation (if you decide to use MySQL as a back-" -"end):" -msgstr "" -"dbconfig-common 包会为 MySQL 配置配置这些访问权限,然后为" -"您创建好数据库。从 OpenStack 2014.1.1 开始,所有Debian 中的 OpenStack 包都会" -"在数据库创建之后,执行下列 MySQL 的查询 (如果您决定使用 MySQL 作为后端的话):" - -msgid "" -"The heat-common package and not the heat-api package configures the Orchestration service." -msgstr "" -"heat-common包,而不是 heat-api包,配置" -"在Orchestration服务中。" - -msgid "" -"The call on openSUSE outputs a warning message when the " -"service uses SysV Init scripts instead of native systemd files. This warning " -"can be ignored." -msgstr "" -"当服务使用了 SysV Init 脚本而不是本地系统文件时,在 openSUSE 上请求的 " -" 会输出一个警告信息。这个警告信息可以忽略。" - -msgid "" -"The rsync service requires no " -"authentication, so consider running it on a private network." -msgstr "" -"rsync 服务不需要认证,因此可以考虑" -"将其运行在私有网络中。" - -msgid "The Block Storage service creates logical volumes in this volume group." -msgstr "块存储服务会在这个卷组中创建逻辑卷。" - -msgid "" -"The Block Storage service requires both the volume and " -"volumev2 services. However, both services use the same " -"API endpoint that references the Block Storage version 2 API." -msgstr "" -"块存储服务需要volumevolumev2服务。" -"然而,两个服务使用相同的API端点,该端点使用块存储服务V2 API。" - -msgid "" -"The CirrOS image includes conventional user name/password authentication and " -"provides these credentials at the login prompt. After logging into CirrOS, " -"we recommend that you verify network connectivity using ." -msgstr "" -"CirrOS 镜像包含传统的用户名/密码认证方式并需在登录提示中提供这些这些认证。登" -"录到 CirrOS 后,我们建议您验证使用验证网络的连通性。" - -msgid "" -"The Data processing service (sahara) enables users to provide a scalable " -"data processing stack and associated management interfaces. This includes " -"provisioning and operation of data processing clusters as well as scheduling " -"and operation of data processing jobs." -msgstr "" -"数据处理服务 (sahara) 允许用户提供一个可扩展的数据处理栈和相关的管理接口。这" -"包括数据处理集群的提供和操作,以及数据处理任务的调度和运行。" - -msgid "" -"The Debian OpenStack packages are maintained on Debian Sid (also known as " -"Debian Unstable) - the current development version. Backported packages run " -"correctly on Debian Wheezy with one caveat:" -msgstr "" -"Debian OpenStack包被含在Debian Sid(也被称为Debian不稳定版) - 当前开发版本中。" -"反向移植的包在Debian Wheezy中可以正常运行,只是带有警告:" - -msgid "" -"The Debian OpenStack packages offer automation for this, so OpenStack users " -"do not have to manually edit the configuration files." -msgstr "" -"Debian OpenStack包可以自动实现这些,所以OpenStack用户不需要手动编辑配置文件。" - -msgid "" -"The Debian package post installation scripts will then perform the below " -"commands for you:" -msgstr "Debian 包快速进行安装脚本,然后将为您执行下列命令:" - -msgid "The Debian packages" -msgstr "Debian包" - -msgid "" -"The ID of the demo-volume1 volume should indicate " -"in-use status by the ID of the demo-instance1 instance." -msgstr "" -"卷 demo-volume1 的ID应该显示被 ID 为 demo-" -"instance1 的实例所 使用in-use。" - -msgid "" -"The Identity Service is installed with MySQL as the database back end, " -"keystonedb as database name, and the localhost socket " -"file. The corresponding DNS will then be:" -msgstr "" -"身份认证服务安装 MySQL 作为数据库的后台,使用 keystonedb " -"作为数据库名称,并使用本机的套接字文件。相应的 DNS 为:" - -msgid "" -"The Identity service manages a catalog of API endpoints associated with the " -"services in your OpenStack environment. Services use this catalog to " -"determine how to communicate with other services in your environment." -msgstr "" -"身份认证服务管理了一个与您环境相关的 API 端点的目录。服务使用这个目录来决定如" -"何与您环境中的其他服务进行通信。" - -msgid "" -"The Identity service manages a catalog of services in your OpenStack " -"environment. Services use this catalog to determine the other services " -"available in your environment." -msgstr "" -"在你的Openstack环境中,认证服务管理服务目录。服务使用这个目录来决定您的环境中" -"可用的服务。" - -msgid "" -"The Identity service provides a catalog of services and their locations. " -"Each service that you add to your OpenStack environment requires a " -"service entity and several API endpoint in the catalog." -msgstr "" -"认证服务提供服务目录和位置。在目录中,您添加到OpenStack环境的每个服务需要一个" -"服务实体和多个API端点。" - -msgid "" -"The Identity service provides authentication services for each OpenStack " -"service. The authentication service uses a combination of domains, projects (tenants), users, and roles." -msgstr "" -"认证服务为每一个Openstack服务提供认证。认证服务使用domains, projects (tenants), users, 和" -"roles的组合。" - -msgid "" -"The Identity version 3 API adds support for domains that contain projects " -"and users. Projects and users can use the same names in different domains. " -"Therefore, in order to use the version 3 API, requests must also explicitly " -"contain at least the default domain or use IDs. For " -"simplicity, this guide explicitly uses the default domain " -"so examples can use names instead of IDs." -msgstr "" -"Identity 3.0版API增加了对包含项目与用户的域的支持。项目与用户可以再不同的域中" -"使用相同的名字。因此,要使用3.0版的API,请求中至少必须显性包含 " -"default 域或者是用户ID。为简化起见,本指南中显性指定" -"default域,这样示例中可以使用用户名而不是ID。" - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances." -msgstr "" -"ML2 插件使用 Open vSwitch (OVS) 机制 (代理) 来为实例构建虚拟网络框架。" - -msgid "" -"The ML2 plug-in uses the Open vSwitch " -"(OVS) mechanism (agent) to build the virtual networking " -"framework for instances. However, the controller node does not need the OVS " -"components because it does not handle instance network traffic." -msgstr "" -"ML2 插件使用 Open vSwitch (OVS) 机制 (代理) 来为实例构建虚拟网络架构。但是,控制节点不需要 OVS 组" -"件,因为它并不处理实例网络的传输。" - -msgid "" -"The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the " -"virtual networking framework for instances." -msgstr "ML2 插件使用 Open vSwitch (OVS) 机制 (代理) 来为实例构建虚拟网络框架。" - -msgid "" -"The Networking common component configuration includes the authentication " -"mechanism, message queue, and plug-in." -msgstr "Networking 通用组件的配置包括认证机制、消息队列和插件。" - -msgid "" -"The Networking server component configuration includes the database, " -"authentication mechanism, message queue, topology change notifications, and " -"plug-in." -msgstr "" -"Networking 服务器组件的配置包括数据库、认证机制、消息队列、拓扑变化通知和插" -"件。" - -msgid "" -"The Networking service initialization scripts expect a symbolic link " -"/etc/neutron/plugin.ini pointing to the ML2 plug-in " -"configuration file, /etc/neutron/plugins/ml2/ml2_conf.ini. If this symbolic link does not exist, create it using the " -"following command:" -msgstr "" -"Networking 服务初始化脚本需要一个象征性的链接将 /etc/neutron/" -"plugin.ini 指向 ML2 插件的配置文件 /etc/neutron/plugins/" -"ml2/ml2_conf.ini。如果这个象征性的链接不存在,请用以下命令创建它:" - -msgid "" -"The Networking service initialization scripts expect the variable " -"NEUTRON_PLUGIN_CONF in the /etc/sysconfig/" -"neutron file to reference the ML2 plug-in configuration file. " -"Edit the /etc/sysconfig/neutron file and add the " -"following:" -msgstr "" -"Networking 服务的初始化脚本需要 /etc/sysconfig/neutron " -"配置文件中的 NEUTRON_PLUGIN_CONF 变量,以关联 ML2 插件的配" -"置文件。修改 /etc/sysconfig/neutron 文件并添加以下内容:" - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances." -msgstr "OVS 服务为实例提供了底层的虚拟网络框架。" - -msgid "" -"The OVS service provides the underlying virtual networking framework for " -"instances. The integration bridge br-int handles internal " -"instance network traffic within OVS. The external bridge br-ex handles external instance network traffic within OVS. The external " -"bridge requires a port on the physical external network interface to provide " -"instances with external network access. In essence, this port connects the " -"virtual and physical external networks in your environment." -msgstr "" -"OVS 服务为实例提供了底层的虚拟网络框架。整合的桥接 br-int " -"处理内部实例网络在 OVS 中的传输。外部桥接 br-ex 处理外部实" -"例网络在 OVS 中的传输。外部桥接需要一个在物理外部网络接口上的端口来为实例提供" -"外部网络的访问。本质上,这个端口连接了您环境中虚拟的和物理的外部网络。" - -msgid "" -"The Object Storage service does not use a SQL database on the controller " -"node. Instead, it uses distributed SQLite databases on each storage node." -msgstr "" -"对象存储服务在控制节点上不使用 SQL 数据库。取而代之,在每个存储节点上它使用分" -"布式SQLite数据库。" - -msgid "" -"The OpenStack Image service (glance) enables users to discover, register, " -"and retrieve virtual machine images. It offers a REST API that enables you to query virtual machine " -"image metadata and retrieve an actual image. You can store virtual machine " -"images made available through the Image service in a variety of locations, " -"from simple file systems to object-storage systems like OpenStack Object " -"Storage." -msgstr "" -"OpenStack 的镜像服务 (glance) 允许用户发现、注册和恢复虚拟机镜像。它提供了一" -"个 REST API,允许您查询虚拟机镜像" -"的 metadata 并恢复一个实际的镜像。您可以存储虚拟机镜像通过不同位置的镜像服务" -"使其可用,就像 OpenStack 对象存储那样从简单的文件系统到对象存储系统。" - -msgid "" -"The OpenStack Object Storage services (swift) work together to provide " -"object storage and retrieval through a REST API. Your environment must at least include the Identity service " -"(keystone) prior to deploying Object Storage." -msgstr "" -"OpenStack 对象存储服务 (swift) 通过 REST API 来提供对象存储和检索。在部署对象存储前,您的环境必须至少包含认" -"证服务 (keystone) 。" - -msgid "" -"The OpenStack® system consists of several key projects that you install " -"separately. These projects work together depending on your cloud needs. " -"These projects include Compute, Identity Service, Networking, Image Service, " -"Block Storage, Object Storage, Telemetry, Orchestration, and Database. You " -"can install any of these projects separately and configure them stand-alone " -"or as connected entities. This guide walks through an " -"installation by using packages available through Debian 7 (code name: " -"Wheezy).This guide walks through an " -"installation by using packages available through Ubuntu 14.04.This guide shows you how to install " -"OpenStack by using packages available through Fedora 21 as well as on Red " -"Hat Enterprise Linux 7 and its derivatives through the EPEL repository.This guide shows you how to install " -"OpenStack by using packages on openSUSE 13.2 and SUSE Linux Enterprise " -"Server 12 through the Open Build Service Cloud repository. " -"Explanations of configuration options and sample configuration files are " -"included." -msgstr "" -"OpenStack® 系统由一些您所分开安装的关键项目组成。这些项目会根据您的云的需要共" -"同运作。这些项目包括 Compute、Identity Service、Networking、Image Service、" -"Block Storage、Object Storage、Telemetry、Orchestration 和 Database。您可以分" -"开安装这些项目中的任何一个,并将他们配置成单节点或作为连接的实体。本指南会通过使用 Debian 7 的可用包(code name: Wheezy)进行安装。本指南会通过使用 Ubuntu 14.04 的包进行安装。本指南会通过使用 Fedora 21 的包和 " -"Red Hat Enterprise Linux 7 及其衍生的 EPEL 仓库进行安装。本指南将向您展示如何使用Open Build Service Cloud 仓库的 " -"openSUSE 13.2 和 SUSE Linux Enterprise Server 12 的包来安装 OpenStack。配置选项和示例配置文件的解释包含其中。" - -msgid "" -"The Orchestration module (heat) uses a heat orchestration template (HOT) to " -"create and manage cloud resources." -msgstr "" -"Orchestration 模块 (heat) 使用一个 heat orchestration template (HOT) 来创建和" -"管理云资源。" - -msgid "" -"The Orchestration service automatically assigns the " -"heat_stack_user role to users that it creates during " -"stack deployment. By default, this role restricts API " -"operations. To avoid conflicts, do not add this role to users with the " -"heat_stack_owner role." -msgstr "" -"Orchestration 自动地分配 heat_stack_user 给在 stack 部署过" -"程中创建的用户。默认情况下,这个角色会限制 API 的操" -"作。为了避免冲突,请不要为用户添加 heat_stack_owner 角色。" - -msgid "The Python MySQL library is compatible with MariaDB." -msgstr "Python MySQL 库和 MariaDB 是兼容的。" - -msgid "" -"The Telemetry chapter provides an Image service configuration that enables " -"notifications." -msgstr "Telemetry 章节提供了一个启用消息机制的镜像服务配置。" - -msgid "" -"The Telemetry service requires access to the Object Storage service using " -"the ResellerAdmin role. Perform these steps on the " -"controller node." -msgstr "" -"Telemetry 服务需要使用 ResellerAdmin 角色访问对象存储服" -"务。请在控制节点上执行这些步骤。" - -msgid "" -"The account server uses the account ring to maintain lists of containers." -msgstr "帐户服务器使用帐户 ring 来维护一个容器的列表。" - -msgid "" -"The automatic configuration process generates a self-signed SSL certificate. " -"Consider obtaining an official certificate for production environments." -msgstr "" -"自动化配置过程会生成一个自签证书。可以考虑为生产环境获取一个正式的证书。" - -msgid "" -"The compute node handles connectivity and security groups for instances." -msgstr "" -"计算节点处理实例的连接和安全组。" - -msgid "" -"The container server uses the container ring to maintain lists of objects. " -"However, it does not track object locations." -msgstr "容器服务器使用容器环来维护对象的列表。但是,它不跟踪对象的位置。" - -msgid "" -"The dashboard enables web-based interactions with the OpenStack Compute " -"cloud controller through the OpenStack APIs." -msgstr "" -"控制面板使得通过OpenStack API与OpenStack计算云控制器进行基于web的交互成为可" -"能。" - -msgid "" -"The debconf system helps users configure the auth_uri, " -"identity_uri, admin_tenant_name, admin_user and admin_password options." -msgstr "" -"debconf 系统会帮助用户配置 auth_uriidentity_uriadmin_tenant_name, admin_user 和 " -"admin_password 选项。" - -msgid "The example architecture assumes use of the following networks:" -msgstr "该样例架构假设使用以下网络:" - -msgid "" -"The example architecture with OpenStack Networking (neutron) requires one " -"controller node, one network node, and at least one compute node. The " -"controller node contains one network interface on the management " -"network. The network node contains one network interface on the " -"management network, one on the instance tunnels network, and one on the external network. The " -"compute node contains one network interface on the management network and " -"one on the instance tunnels network." -msgstr "" -"使用 OpenStack 网络 (neutron) 的架构样例中,需要一个控制节点、一个网络节点以" -"及至少一个计算节点。控制节点一个在管理网络上的网络接" -"口。网络节点在包含一个在管理网络上的网络接口,一个在实例隧道网络上,一个在外部网络上。计算节点包含一个在管理" -"网络上的网络接口和一个在实例隧道网络上的接口。" - -msgid "" -"The example architecture with legacy networking (nova-network) requires a " -"controller node and at least one compute node. The controller node contains " -"one network interface on the management network. The " -"compute node contains one network interface on the management network and " -"one on the external network." -msgstr "" -"使用传统网络 (nova-network) 的架构样例需要一个控制节点和至少一个计算节点。控" -"制节点包含一个管理网络上的网络接口。计算节点包含一个管" -"理网络上的网络接口和一个外部网络上的接口。" - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the second interface as the external interface:" -msgstr "" -"外部网络接口使用一个特定的配置,不分配 IP 地址给这个接口。将第二个接口配置为" -"外部网络接口:" - -msgid "" -"The external interface uses a special configuration without an IP address " -"assigned to it. Configure the third interface as the external interface:" -msgstr "" -"外部网络接口使用特殊的配置,不分配 IP 地址。将第三个接口配置为外部网络接口:" - -msgid "" -"The external network typically provides Internet access for your instances. " -"By default, this network only allows Internet access from instances using Network Address Translation (NAT). You can enable Internet access to " -"individual instances using a floating IP address and " -"suitable security group rules. The admin tenant owns this network because it provides external network " -"access for multiple tenants." -msgstr "" -"外部网络为您的实例分配互联网连接。该网络一般仅允许通过使" -"用网络地址转换 (NAT)的实例访问 Internet。您" -"可以通过一个浮动IP地址和合适的安全组规则来启用 Internet 的访问个别实例。" -"admin 租户拥有这个网络,因为它为多个租户提供了外部网络的访" -"问。" - -msgid "" -"The following example shows how to pre-seed an automated MySQL Server " -"installation:" -msgstr "下面例子展示了MySQL服务器自动安装的前期处理:" - -msgid "The following screens show an example Image service configuration:" -msgstr "下面屏幕抓图展示了镜像服务配置的一个例子:" - -msgid "" -"The following table provides a list of services that require passwords and " -"their associated references in the guide:
    Passwords
    Password nameDescription
    Database password (no " -"variable used)Root password for the database
    ADMIN_PASSPassword of user admin
    CEILOMETER_DBPASSDatabase password for the Telemetry service
    CEILOMETER_PASSPassword of Telemetry service user ceilometer
    CINDER_DBPASSDatabase password for the Block Storage service
    CINDER_PASSPassword of Block Storage service user cinder
    DASH_DBPASSDatabase password for the dashboard
    DEMO_PASSPassword of user demo
    GLANCE_DBPASSDatabase password for Image service
    GLANCE_PASSPassword of Image service user glance
    HEAT_DBPASSDatabase password for the Orchestration service
    HEAT_DOMAIN_PASSPassword of Orchestration domain
    HEAT_PASSPassword of Orchestration service user heat
    KEYSTONE_DBPASSDatabase password of Identity service
    NEUTRON_DBPASSDatabase password for the Networking service
    NEUTRON_PASSPassword of Networking service user neutron
    NOVA_DBPASSDatabase password for Compute service
    NOVA_PASSPassword of Compute service user nova
    RABBIT_PASSPassword of user guest of RabbitMQ
    SAHARA_DBPASSDatabase password of Data processing service
    SWIFT_PASSPassword of Object Storage service user swift
    TROVE_DBPASSDatabase password of Database service
    TROVE_PASSPassword of Database service user trove
    " -msgstr "" -"下表提供本文档需要密码的服务和他们相关的参考:
    Passwords
    Password nameDescription
    Database password (no " -"variable used)Root password for the database
    ADMIN_PASSPassword of user admin
    CEILOMETER_DBPASSDatabase password for the Telemetry service
    CEILOMETER_PASSPassword of Telemetry service user ceilometer
    CINDER_DBPASSDatabase password for the Block Storage service
    CINDER_PASSPassword of Block Storage service user cinder
    DASH_DBPASSDatabase password for the dashboard
    DEMO_PASSPassword of user demo
    GLANCE_DBPASSDatabase password for Image service
    GLANCE_PASSPassword of Image service user glance
    HEAT_DBPASSDatabase password for the Orchestration service
    HEAT_DOMAIN_PASSPassword of Orchestration domain
    HEAT_PASSPassword of Orchestration service user heat
    KEYSTONE_DBPASSDatabase password of Identity service
    NEUTRON_DBPASSDatabase password for the Networking service
    NEUTRON_PASSPassword of Networking service user neutron
    NOVA_DBPASSDatabase password for Compute service
    NOVA_PASSPassword of Compute service user nova
    RABBIT_PASSPassword of user guest of RabbitMQ
    SAHARA_DBPASSDatabase password of Data processing service
    SWIFT_PASSPassword of Object Storage service user swift
    TROVE_DBPASSDatabase password of Database service
    TROVE_PASSPassword of Database service user trove
    " - -msgid "The installation process for this package can take a while." -msgstr "这个包的安装过程需要一点时间。" - -msgid "" -"The network node primarily handles internal and external routing and " -"DHCP services for virtual networks." -msgstr "" -"网络节点主要为虚拟网络处理内部和外部路由及 DHCP 服务。" - -msgid "" -"The network node runs the Networking plug-in and several agents that " -"provision tenant networks and provide switching, routing, NAT, and " -"DHCP services. This node also handles external " -"(Internet) connectivity for tenant virtual machine instances." -msgstr "" -"网络节点运行 Networking 插件和一些提供租户网络的代理,并提供 switching、" -"routing、NATDHCP 服务。这个节点也处理租户虚拟机实例" -"的外部 (Internet) 的连接。" - -msgid "" -"The object server uses the object ring to maintain lists of object locations " -"on local devices." -msgstr "对象服务器使用对象环来维护对象在本地设备上的位置列表。" - -msgid "" -"The openSUSE distribution uses the concept of patterns to represent " -"collections of packages. If you selected 'Minimal Server Selection (Text " -"Mode)' during initial installation, you may be presented with a dependency " -"conflict when you attempt to install the OpenStack packages. To avoid this, " -"remove the minimal_base-conflicts package:" -msgstr "" -"在openSUSE发型版中,使用模式概念代表包集合。如果在安装过程中你选择了‘最小安装" -"选项(文本模式)‘,当你尝试安装OpenStack包时你可能遇到包依赖冲突。为了避免这" -"个,移除最小基本冲突的包。" - -msgid "" -"The optional Block Storage node contains the disks that the Block Storage " -"service provisions for tenant virtual machine instances. You can run more " -"than one of these nodes." -msgstr "" -"该可选的块存储节点包含磁盘,块存储服务会向租户虚拟机实例提供这些磁盘。您可以" -"运行多个该节点。" - -msgid "" -"The optional Object Storage nodes contain the disks that the Object Storage " -"service uses for storing accounts, containers, and objects. You can run more " -"than two of these nodes. However, the minimal architecture example requires " -"two nodes." -msgstr "" -"该可选的对象存储节点包含磁盘,对象存储服务使用这些磁盘来存储帐户、容器和对" -"象。您可以运行多个该节点。但是在最小架构样例中需要两个节点。" - -msgid "The other directives concerning RabbitMQ will stay untouched." -msgstr "其他关于 RabbitMQ 的指令将保持不变。" - -msgid "" -"The packages already contain a cron job under /etc/cron.hourly/" -"keystone, so it is not necessary to manually configure a periodic " -"task that purges expired tokens." -msgstr "" -"Keystone的包在/etc/cron.hourly/keystone下已经包含了一个" -"cron任务,所以不需要手动配置一个周期任务来清除过期的令牌。" - -msgid "" -"The packages are signed by GPG key 893A90DAD85F9316. You should verify the " -"fingerprint of the imported GPG key before using it." -msgstr "" -"这些软件包都使用 GPG 密钥 893A90DAD85F9316 进行了签名,在安装之前可以先验证签" -"名。" - -msgid "" -"The packages are signed by GPG key 562111AC05905EA8. You " -"should verify the fingerprint of the imported GPG key before using it." -msgstr "" -"包是由 GPG key 562111AC05905EA8 分配的。在使用前您需要验证" -"导入的 GPG key 的指印。" - -msgid "" -"The packages can automatically create the service entity and API endpoint." -msgstr "包自动创建服务实体和API端点。" - -msgid "" -"The packages do not require pre-depends. If dbconfig-common is already installed on the system, the user " -"sees all prompts. However, you cannot define the order in which the " -"debconf screens appear. The user " -"must make sense of it even if the prompts appear in an illogical order." -msgstr "" -"这些包没有依赖包。如果dbconfig-common已经在系统中安装,用户可以看到所有的提示信息。但是,你无法决定" -"debconf屏幕出现的顺序。用户必须了" -"解提示信息可能是无序出现的。" - -msgid "" -"The proxy service relies on an authentication and authorization mechanism " -"such as the Identity service. However, unlike other services, it also offers " -"an internal mechanism that allows it to operate without any other OpenStack " -"services. However, for simplicity, this guide references the Identity " -"service in . Before you configure the Object " -"Storage service, you must create service credentials and an API endpoint." -msgstr "" -"代理服务依赖于例如认证服务所提供的认证和授权机制。但是,与其他服务不同的是," -"它也提供一个内部的机制可以在没有任何其它OpenStack服务的情况下工作。但为了简单" -"起见,本指南在 引用认证服务的说明。在配置对象" -"存储服务之间,你必须生成服务凭证和API端点。" - -msgid "" -"The server component listens on all IP addresses and the proxy component " -"only listens on the management interface IP address of the compute node. The " -"base URL indicates the location where you can use a web browser to access " -"remote consoles of instances on this compute node." -msgstr "" -"服务器组件监听所有的 IP 地址,而代理组件仅仅监听计算节点管理网络接口的 IP 地" -"址。基本的 URL 指示您可以使用 web 浏览器访问位于该计算节点上实例的远程控制台" -"的位置。" - -msgid "" -"The status changes from BUILD to ACTIVE when your instance finishes the build process." -msgstr "" -"当您的实例完成创建过程时,状态会从 BUILD 变为 " -"ACTIVE。" - -msgid "" -"The storage node runs many Object Storage services and the " -"command makes them easier to manage. You can ignore errors from services not " -"running on the storage node." -msgstr "" -"存储节点运行很多对象存储服务,而且 命令使他们易于管理。您可" -"以忽视不在存储节点上运行的服务的错误。" - -msgid "" -"The tenant network provides internal network access for instances. The " -"architecture isolates this type of network from other tenants. The " -"demo tenant owns this network because it only provides " -"network access for instances within it." -msgstr "" -"租户网络为实例提供内部网络连接。架构确保这种网络在不同租户间分离。" -"demo 租户拥有这个网络因为其仅仅为其内的实例提供网络连接。" - -msgid "" -"The values of AUTH_TOKEN, KEYSTONE_ENDPOINT_IP, PKG_ENDPOINT_IP and REGION_NAME depend on the answer you will provide to the debconf prompts. But " -"the values of SERVICE_NAME, SERVICE_TYPE, SERVICE_DESC and SERVICE_URL " -"are already pre-wired in each package, so you don't have to remember them." -msgstr "" -"AUTH_TOKENKEYSTONE_ENDPOINT_IP、" -"PKG_ENDPOINT_IPREGION_NAME 的值取决" -"于您向 debconf 提示信息提供的内容。但 SERVICE_NAME、" -"SERVICE_TYPESERVICE_DESC 和 " -"SERVICE_URL 的值是已经在各个包中预配置好的,所以您不需要记" -"住它们的值。" - -msgid "" -"Then, debconf does not prompt you." -msgstr "" -"这样,debconf就不会提示你了。" - -msgid "" -"These debconf screens appear in: ceilometer-" -"common, cinder-common, glance-common, " -"heat-common, neutron-common and nova-common." -msgstr "" -"这些debconf屏幕抓图展示了ceilometer-common, cinder-common, " -"glance-common, heat-common, neutron-" -"commonnova-common。" - -msgid "" -"These screens appear when you re-configure the dbconfig-common package:" -msgstr "" -"下面截屏显示了当你重新配置 dbconfig-common包时的情况:" - -msgid "" -"These steps reference example components created in previous chapters. You " -"must adjust certain values such as IP addresses to match your environment." -msgstr "" -"这些步骤关系到一些前面章节中所创建的组件,您必须调整某些值,如 IP 地址,以匹" -"配您的环境配置。" - -msgid "" -"This connection directive will be handled by the " -"dbconfig-common package, which provides a standard Debian " -"interface. It enables you to configure Debian database parameters. It " -"includes localized prompts for many languages and it supports the following " -"database backends: SQLite, MySQL, and PostgreSQL." -msgstr "" -"这个 connection 指令将由 dbconfig-common 包处理,这个连接会提供一个标准的 Debian 接口,允许您配置 Debian 数据" -"库的参数。它包括了多种语言的本地化提示,并支持以下数据库后台:SQLite、MySQL " -"和 PostgreSQL。" - -msgid "" -"This calls the post-installation script for the PACKAGE-NAME package after the user responds to all prompts. If you cannot " -"install a Debian package in a non-interactive way, you have found a release-" -"critical bug in Debian. Report it to the Debian bug tracking system." -msgstr "" -"在用户回答所有提示问题后,PACKAGE-NAME包的安装后期" -"脚本将被调用执行。如果你在非交互情况下碰到问题无法安装Debian包,这就是个" -"release-critial的bug,你可以汇报到Debian bug跟踪系统中去。" - -msgid "This caveat applies to most OpenStack packages in Wheezy." -msgstr "这个警告对Wheezy的大多数OpenStack包都适用。" - -msgid "" -"This chapter assumes that you already have a working OpenStack environment " -"with at least the following components installed: Compute, Image service, " -"Identity." -msgstr "" -"本章节假设您已经拥有一个正在运行的 OpenStack 环境,至少安装了下列组件:计算、" -"镜像服务、身份认证服务。" - -msgid "" -"This chapter explains how to configure each node in the example architectures " -"including the two-node architecture with legacy networking and three-node architecture " -"with OpenStack Networking (neutron)." -msgstr "" -"这个章节将解释如何在架构" -"样例中对每个节点进行配置,包括 使用传统网络的两个节点架构和使用 OpenStack 网络 " -"(neutron) 的三个节点架构。" - -msgid "" -"This chapter explains how to install and configure either OpenStack " -"Networking (neutron), or the legacy nova-" -"network component. The nova-" -"network service enables you to deploy one network type per " -"instance and is suitable for basic network functionality. OpenStack " -"Networking enables you to deploy multiple network types per instance and " -"includes plug-ins for a variety " -"of products that support virtual networking." -msgstr "" -"本章节将将借如何安装和配置 OpenStack Networking (neutron) 或传统网络 " -"nova-network 组件。nova-network 服务允许每个实例部署一个网络类" -"型,且适用于基本的网络功能。OpenStack Networking 允许您每个实例部署多个网络类" -"型,并为各种各样支持虚拟网络的产品包含 plug-ins。" - -msgid "" -"This chapter explains how to use the Debian debconf and dbconfig-common packages to configure OpenStack services. These packages enable " -"users to perform configuration tasks. When users install OpenStack packages, " -"debconf prompts the user for responses, which seed the " -"contents of configuration files associated with that package. After package " -"installation, users can update the configuration of a package by using the " -" program." -msgstr "" -"本章解释了如何使用Debian的debconf" -"包和dbconfig-common包来配置" -"OpenStack服务。这些包允许用户执行配置的工作。当用户安装OpenStack包时," -"debconf会提示用户输入,这些用户输入会存放到与OpenStack包关" -"联的配置文件中。当安装完成后,用户可以使用程序更新这些配置信" -"息。" - -msgid "" -"This chapter is a work in progress. It may contain incorrect information, " -"and will be updated frequently." -msgstr "这个章节正在书写中。它可能包含一些错误的信息,并且会频繁地更新。" - -msgid "" -"This chapter omits the backup manager because it depends on the Object " -"Storage service." -msgstr "本章节省略了备份管理,因为它是基于对象存储服务的。" - -msgid "This command provides no output." -msgstr "这个命令执行后没有输出。" - -msgid "This command uses the password for the admin user." -msgstr "这个命令使用admin用户的密码。" - -msgid "" -"This command uses the password for the demo user and API " -"port 5000 which only allows regular (non-admin) access to the Identity " -"service API." -msgstr "" -"这条命令使用demo用户的密码和5000端口的API,5000端口仅允许" -"正常访问(非管理)认证服务API。" - -msgid "This example deployment uses an Apache web server." -msgstr "这个部署示例使用的是 Apache Web 服务器。" - -msgid "This example shows you how to create a MySQL 5.5 database:" -msgstr "这个示例会向您展示如何创建 MySQL 5.5 数据库:" - -msgid "" -"This example shows you how to create a MySQL datastore with version 5.5:" -msgstr "这个实例将向您展示如何创建一个 5.5 版本的 MySQL 数据存储:" - -msgid "" -"This guide describes how to deploy these services in a functional test " -"environment and, by example, teaches you how to build a production " -"environment. Realistically, you would use automation tools such as Ansible, " -"Chef, and Puppet to deploy and manage a production environment." -msgstr "" -"本指南描述如何在一个功能测试环境中部署这些服务,而且,举个例子来说,可以教会" -"您如何构建一个生产环境。但实际上,您应该使用自动化工具,如 Ansible、Chef 和 " -"Puppet 等来部署和管理生产环境。" - -msgid "" -"This guide uses a service project that contains a unique user for each " -"service that you add to your environment." -msgstr "" -"本手册使用一个服务项目,服务项目为每个添加到环境的服务包含一个唯一的用户。" - -msgid "" -"This image must have the trove guest agent installed, and it must have the " -"trove-guestagent.conf file configured to connect to " -"your OpenStack environment. To correctly configure the trove-" -"guestagent.conf file, follow these steps on the guest instance " -"you are using to build your image:" -msgstr "" -"这个镜像必需安装了 trove guest agent,并且需要有 trove-guestagent." -"conf 配置文件的配置,连接到您的 OpenStack 环境中。要正确地配置 " -"trove-guestagent.conf 文件,请在您要构建镜像的实例虚拟机" -"上,根据下列步骤进行:" - -msgid "" -"This information is stored in the configuration file for each service. For " -"example:" -msgstr "这些信息存储在每个服务的配置文件中。例如:" - -msgid "" -"This network does not require a gateway because communication only occurs " -"among network and compute nodes in your OpenStack environment." -msgstr "" -"这个网络不需要网关,因为它只发生在您的 OpenStack 环境中的网络节点和计算节点之" -"间的会话中。" - -msgid "" -"This network requires a gateway to provide Internet access to all nodes for " -"administrative purposes such as package installation, security updates, " -"DNS, and NTP." -msgstr "" -"这个网络需要一个网关以为所有节点提供内部的管理目的的访问,例如包的安装、安全" -"更新、DNS 以及 NTP。" - -msgid "" -"This network requires a gateway to provide Internet access to instances in " -"your OpenStack environment." -msgstr "这个网络需要一个网关来提供在环境中内部实例的访问。" - -msgid "" -"This network shares the same subnet associated with " -"the physical network connected to the external interface on the compute node. You should specify an exclusive slice of " -"this subnet to prevent interference with other devices on the external " -"network." -msgstr "" -"这个网络共享同一个计算节点上与外部网络接口连接的物理网络相关的子网" -"。您应该指定一个单独的子网段,来阻止外部网络上其他设备的干扰。" - -msgid "" -"This output should indicate four agents alive on the network node and one " -"agent alive on the compute node." -msgstr "该输出应该显示四个代理工作在网络节点上,一个代理工作在计算节点上。" - -msgid "" -"This output should indicate four service components enabled on the " -"controller node and one service component enabled on the compute node." -msgstr "" -"该输出应该显示四个服务组件在控制节点上启用,一个服务组件在计算节点上启用。" - -msgid "" -"This procedure installs the Data processing service (sahara) on the " -"controller node." -msgstr "这个过程将在控制节点上安装数据处理服务 (sahara)。" - -msgid "This procedure installs the Database service on the controller node." -msgstr "这个过程在控制节点上面安装数据库服务." - -msgid "" -"This screen configures the IP addresses for the service. The configuration " -"script automatically detects the IP address used by the interface that is " -"connected to the default route (/sbin/route and /sbin/ip)." -msgstr "" -"下面截屏展示如何为服务配置IP地址。配置脚本自动发现连接到缺省路由 (/" -"sbin/route and /sbin/ip)的接口使用的IP地址。" - -msgid "" -"This screen configures the region name for the service. For example, " -"us-east-coast or europe-paris." -msgstr "" -"该截屏配置服务的区域名。例如us-east-coast或者europe-" -"paris。" - -msgid "This screen registers packages in the Identity Service catalog:" -msgstr "下面截屏展示了在Identity服务目录中注册的包:" - -msgid "" -"This section assumes proper installation, configuration, and operation of " -"the Identity service as described in " -"and as well as setup of the " -"admin-openrc.sh script as described in ." -msgstr "" -"这部分假设按照的描述正确安装,配置和操作认证服务,同时按照 描述创建 admin-" -"openrc.sh 脚本。" - -msgid "" -"This section assumes proper installation, configuration, and operation of " -"the Identity service using the Apache HTTP server and Memcached as described " -"in ." -msgstr "" -"这个部分假设正确安装、配置和操作认证服务,认证服务使用描述的Apache HTTP服务器和Memcached服务." - -msgid "" -"This section assumes that you are following the instructions in this guide " -"step-by-step to configure the first compute node. If you want to configure " -"additional compute nodes, prepare them in a similar fashion to the first " -"compute node in the example architectures section using the same networking service " -"as your existing environment. For either networking service, follow the " -"NTP configuration and OpenStack packages instructions. For " -"OpenStack Networking (neutron), also follow the OpenStack Networking compute node instructions. " -"For legacy networking (nova-network), also follow the legacy networking compute node instructions. Each " -"additional compute node requires unique IP addresses." -msgstr "" -"这个部分假设您是根据本指南中的指示一步一步配置的第一台计算节点。如果您像配置" -"额外的计算节点,以与架构" -"样例部分类似的方式准备好计算节点,使用与您环境相同的网络服务。对于两者" -"的网络服务,依据 NTP 配置和 " -"OpenStack packages 的指示进行。对于 " -"OpenStack 网络 (neutron),也可以依据 OpenStack Networking compute node 的指示进行。对于传统网络 " -"(nova-network),也可以依据 legacy " -"networking compute node 的指示进行。每个额外的计算节点都需要唯一的 IP " -"地址。" - -msgid "" -"This section covers deployment of a simple flat network that provides IP addresses to your instances via DHCP. If your environment includes multiple compute nodes, the " -"multi-host feature provides redundancy by spreading " -"network functions across compute nodes." -msgstr "" -"这个部分覆盖了一个简单的扁平网络的部署,它通过 " -"DHCP 为您的实例提供 IP 地址。如果您的环境包含多个计算" -"节点,multi-host 的特性通过在计算节点上扩展网络功能提" -"供冗余。" - -msgid "" -"This section describes how to install and configure storage nodes for the " -"Block Storage service. For simplicity, this configuration references one " -"storage node with an empty local block storage device /dev/sdb that contains a suitable partition table with one partition " -"/dev/sdb1 occupying the entire device. The service " -"provisions logical volumes on this device using the LVM driver and provides them to instances via iSCSI " -"transport. You can follow these instructions with minor modifications to " -"horizontally scale your environment with additional storage nodes." -msgstr "" -"这个部分将描述如何安装和配置存储节点,以使用块设备存储服务。简单来说,这个配" -"置将一个存储节点关联到一个空的本地块存储设备 /dev/sdb 上," -"这个设备包含了一个合适的分区表,其中一个分区 /dev/sdb1 占" -"用了整个设备。该服务使用 LVM 在这个设备上提供了逻辑" -"卷,并通过 iSCSI 传输将这些逻辑卷提供给实例使用。您可以根据这些小" -"修改的指导,通过额外的存储节点来增加您环境的规模。" - -msgid "" -"This section describes how to install and configure the Block Storage " -"service, code-named cinder, on the controller node. This service requires at " -"least one additional storage node that provides volumes to instances." -msgstr "" -"这个部分描述如何在控制节点上安装和配置块设备存储服务,即 cinder。这个服务需要" -"至少一个额外的存储节点,以向实例提供卷。" - -msgid "" -"This section describes how to install and configure the Compute service on a " -"compute node. The service supports several hypervisors to deploy instances or VMs. For simplicity, this configuration uses the " -"QEMU hypervisor " -"with the KVM " -"extension on compute nodes that support hardware acceleration for virtual " -"machines. On legacy hardware, this configuration uses the generic QEMU " -"hypervisor. You can follow these instructions with minor modifications to " -"horizontally scale your environment with additional compute nodes." -msgstr "" -"这个部分描述如何在一个计算节点上安装和配置 Compute 服务。这个服务支持一些 " -"hypervisors 来部署实例虚拟机。简单来说,这个配置使用在计算节点上扩展 " -"KVMQEMU hypervisor,支持虚拟机的" -"硬件加速。在旧的硬件上,这个配置使用通用的 QEMU hypervisor。您可以根据这些说" -"明进行轻微的修改,以横向扩展环境的额外计算节点。" - -msgid "" -"This section describes how to install and configure the Compute service, " -"code-named nova, on the controller node." -msgstr "这个部分将描述如何在控制节点上安装和配置 Compute 服务,即 nova。" - -msgid "" -"This section describes how to install and configure the Image service, code-" -"named glance, on the controller node. For simplicity, this configuration " -"stores images on the local file system." -msgstr "" -"这个部分描述如何在控制节点上安装和配置镜像服务,即 glance。简单来说,这个配置" -"将镜像保存在本地文件系统中。" - -msgid "" -"This section describes how to install and configure the OpenStack Identity " -"service, code-named keystone, on the controller node. For performance, this " -"configuration deploys the Apache HTTP server to handle requests and " -"Memcached to store tokens instead of a SQL database." -msgstr "" -"本章节描述如何在控制节点上安装与配置代号名为keystone的OpenStack身份认证服务。" -"为了性能,这个配置中部署Apache HTTP服务器来处理请求,部署Memcached来存储令牌" -"而不是通过SQL数据库。" - -msgid "" -"This section describes how to install and configure the Orchestration " -"module, code-named heat, on the controller node." -msgstr "这个部分将描述如何在控制节点上安装及配置 Orchestration 模块,即heat。" - -msgid "" -"This section describes how to install and configure the Telemetry module, " -"code-named ceilometer, on the controller node. The Telemetry module uses " -"separate agents to collect measurements from each OpenStack service in your " -"environment." -msgstr "" -"这个部分将描述如何在控制节点上安装和配置 Telemetry 模块,即 ceilometer。" -"Telemetry 模块使用分离的代理来从您环境的 OpenStack 服务中收集评估。" - -msgid "" -"This section describes how to install and configure the dashboard on the " -"controller node." -msgstr "这个部分将描述如何在控制节点上安装和配置仪表板。" - -msgid "" -"This section describes how to verify operation of the Block Storage service " -"by creating a volume." -msgstr "这个部分描述如何通过创建一个卷来验证块设备存储服务操作。" - -msgid "" -"This section describes how to verify operation of the Object Storage service." -msgstr "这个部分将描述如何验证对象存储服务的操作。" - -msgid "" -"This section describes how to verify operation of the Orchestration module " -"(heat)." -msgstr "这个不分将描述如何验证 Orchestration 模块 (heat) 的操作。" - -msgid "This section describes how to verify operation of the Telemetry module." -msgstr "这个部分将描述如何验证 Telemetry 模块的操作。" - -msgid "This section describes how to verify operation of the dashboard." -msgstr "这个部分将描述如何进行仪表板的验证操作。" - -msgid "" -"This will configure the below directives (example from nova.conf):" -msgstr "这将配置好下列指令 (例如 nova.conf):" - -msgid "" -"Three-node architecture with OpenStack Networking (neutron) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"包含 OpenStack 网络 (neutron) 的三个节点架构以及可选的块存储和对象存储服务节" -"点:" - -msgid "To access your instance remotely" -msgstr "远程访问实例" - -msgid "To access your instance using a virtual console" -msgstr "使用虚拟机控制台访问您的实例" - -msgid "To attach a Block Storage volume to your instance" -msgstr "附加一个块设备存储的卷到您的实例上" - -msgid "To configure Compute to use Networking" -msgstr "配置 Compute 以使用 Networking" - -msgid "To configure legacy networking" -msgstr "配置传统网络" - -msgid "To configure name resolution:" -msgstr "设置名称解析:" - -msgid "To configure networking:" -msgstr "配置网络:" - -msgid "To configure notifications" -msgstr "配置提醒" - -msgid "To configure prerequisites" -msgstr "配置前的准备" - -msgid "To configure the Apache HTTP server" -msgstr "配置 Apache HTTP 服务器" - -msgid "To configure the DHCP agent" -msgstr "配置 DHCP 代理" - -msgid "To configure the Layer-3 (L3) agent" -msgstr "配置 Layer-3 (L3) 代理" - -msgid "To configure the Modular Layer 2 (ML2) plug-in" -msgstr "配置 Modular Layer 2 (ML2) 插件" - -msgid "To configure the NTP service" -msgstr "配置 NTP 服务" - -msgid "To configure the Networking common components" -msgstr "配置网络的通用组件" - -msgid "To configure the Networking server component" -msgstr "配置网络服务器的组件" - -msgid "To configure the Open vSwitch (OVS) service" -msgstr "配置 Open vSwitch (OVS) 服务" - -msgid "To configure the dashboard" -msgstr "配置仪表板" - -msgid "To configure the message queue service" -msgstr "配置消息队列服务" - -msgid "To configure the metadata agent" -msgstr "配置 metadata 代理" - -msgid "" -"To create a router on the tenant network and attach the external and tenant " -"networks to it" -msgstr "在租户网络上创建路由并将外部网络和租户网络附加给它" - -msgid "To create a subnet on the external network" -msgstr "在外部网络上创建子网" - -msgid "To create a subnet on the tenant network" -msgstr "在租户网络上创建子网" - -msgid "To create tenants, users, and roles" -msgstr "创建租户、用户和角色" - -msgid "To create the Identity service credentials, complete these steps:" -msgstr "要创建身份认证服务的凭证,完成这些步骤:" - -msgid "To create the database, complete these steps:" -msgstr "完成下面的步骤以创建数据库:" - -msgid "To create the external network" -msgstr "创建外部网络" - -msgid "To create the network" -msgstr "创建网络" - -msgid "To create the ring" -msgstr "创建 ring" - -msgid "To create the scripts" -msgstr "创建脚本" - -msgid "To create the service credentials, complete these steps:" -msgstr "创建服务证书,完成如下步骤:" - -msgid "To create the service entity and API endpoint" -msgstr "创建服务实体和API端点:" - -msgid "To create the tenant network" -msgstr "创建租户网络" - -msgid "To disable Network Manager" -msgstr "禁用 Network Manager" - -msgid "To enable the OpenStack repository" -msgstr "启用 OpenStack 仓库" - -msgid "To finalize installation" -msgstr "完成安装" - -msgid "To finalize the installation" -msgstr "完成安装" - -msgid "To generate a key pair" -msgstr "生成一个密钥对" - -msgid "To install and configure Block Storage controller components" -msgstr "安装并配置块设备存储服务在控制节点服务器上的组件" - -msgid "To install and configure Compute controller components" -msgstr "安装和配置 Compute 的计算节点组件" - -msgid "To install and configure the Compute controller components" -msgstr "安装和配置 Compute 的控制节点组件" - -msgid "To install and configure the Compute hypervisor components" -msgstr "安装和配置 Compute hypervisor 组件" - -msgid "To install and configure the Identity service components" -msgstr "安装与配置身份认证服务的部件" - -msgid "To install and configure the Image service components" -msgstr "安装和配置镜像服务组件" - -msgid "To install and configure the Networking components" -msgstr "安装和配置网络组件" - -msgid "To install and configure the Orchestration components" -msgstr "安装和配置Orchestration组件" - -msgid "To install and configure the Telemetry module components" -msgstr "安装和配置Telemetry模块组件" - -msgid "To install and configure the agent" -msgstr "安装和配置代理" - -msgid "To install and configure the components" -msgstr "安装和配置组件" - -msgid "To install and configure the controller node components" -msgstr "安装并配置controller节点组件" - -msgid "To install and configure the database server" -msgstr "安装并配置数据库服务" - -msgid "To install legacy networking components" -msgstr "安装传统网络的组件" - -msgid "To install the Data processing service on the controller:" -msgstr "在控制节点上安装数据处理服务:" - -msgid "To install the Database service on the controller:" -msgstr "在控制节点上安装数据库服务:" - -msgid "To install the NTP service" -msgstr "安装 NTP 服务" - -msgid "To install the Networking components" -msgstr "安装网络组件" - -msgid "To install the dashboard components" -msgstr "安装仪表板组件" - -msgid "To install the message queue service" -msgstr "安装消息队列服务" - -msgid "To launch an instance" -msgstr "启动一台实例" - -msgid "" -"To launch an instance, you must at least specify the flavor, image name, " -"network, security group, key, and instance name." -msgstr "" -"启动一台实例,您必须至少指定一个类型、镜像名称、网络、安全组、密钥和实例名" -"称。" - -msgid "To load client environment scripts" -msgstr "加载客户端环境脚本" - -msgid "" -"To minimize clutter and provide more resources for OpenStack, we recommend a " -"minimal installation of your Linux distribution. Also, we strongly recommend " -"that you install a 64-bit version of your distribution on at least the " -"compute node. If you install a 32-bit version of your distribution on the " -"compute node, attempting to start an instance using a 64-bit image will fail." -msgstr "" -"为了降低混乱和为 OpenStack 提供更多资源。我们建议进行你选用的Linux 发行版的最" -"小化安装。并且,我们强烈建议你至少要在计算节点上安装所选用 Linux 发行版的 64 " -"位版本。如果你在计算节点上安装了所选用 Linux 发行版的 32 位版本,尝试使用 64 " -"位镜像启动实例将会失败。" - -msgid "" -"To opt out of using the debconf " -"package, run the command and select non-interactive mode:" -msgstr "" -"要退出使用 debconf包,需要运行命令" -",并且选择一个非交互模式:" - -msgid "" -"To retrieve image-oriented events and samples, configure the Image service " -"to send notifications to the message bus. Perform these steps on the " -"controller node." -msgstr "" -"为了获取 image-oriented 时间和样例,请配置镜像服务以发送消息给 message bus。" -"在控制节点上执行这些步骤。" - -msgid "" -"To retrieve storage-oriented events and samples, configure the Object " -"Storage service to send notifications to the message bus." -msgstr "" -"为了检索到存储方面的事件与采样,配置对象存储服务以便发送通知到消息总线。" - -msgid "" -"To retrieve volume-oriented events and samples, you must configure the Block " -"Storage service to send notifications to the message bus. Perform these " -"steps on the controller and storage nodes." -msgstr "" -"为了检索到卷方面的事件与采样,您必须配置块存储服务以便发送通知到消息总线。在" -"控制与存储节点上执行这些步骤。" - -msgid "" -"To run clients as a specific project and user, you can simply load the " -"associated client environment script prior to running them. For example:" -msgstr "" -"使用特定租户和用户运行客户端,你可以在运行之前简单地加载相关客户端脚本。例" -"如:" - -msgid "" -"To temporarily disable GRO on the external network interface while testing " -"your environment:" -msgstr "测试环境时,在外部网络接口上暂时地禁用 GRO:" - -msgid "To use the Debian Wheezy backports archive for Juno" -msgstr "使用 Debian Wheezy backports 的 Juno 归档" - -msgid "" -"To use the VNC client with the dashboard, the browser must support HTML5 " -"Canvas and HTML5 WebSockets." -msgstr "" -"为了通过dashboard使用VNC客户端,浏览器必须支持HTML5 Canvas和HTML5 " -"WebSockets。" - -msgid "To verify network connectivity" -msgstr "验证网络的连通性" - -msgid "" -"To verify that the Database service is installed and configured correctly, " -"try executing a trove command:" -msgstr "验证数据库服务是否安装并正确配置,可以尝试执行 Trove 命令:" - -msgid "" -"To verify the Data processing service (sahara) is installed and configured " -"correctly, try requesting the clusters list using the sahara client." -msgstr "" -"验证数据处理服务 (sahara) 已经安装并配置正确,可以尝试使用 sahara 客户端请求" -"集群列表。" - -msgid "" -"Tunneling protocols such as GRE include additional packet headers that " -"increase overhead and decrease space available for the payload or user data. " -"Without knowledge of the virtual network infrastructure, instances attempt " -"to send packets using the default Ethernet maximum transmission " -"unit (MTU) of 1500 bytes. Internet protocol (IP) networks contain the path MTU discovery (PMTUD) mechanism to detect end-to-end MTU and adjust packet size " -"accordingly. However, some operating systems and networks block or otherwise " -"lack support for PMTUD causing performance degradation or connectivity " -"failure." -msgstr "" -"类似于GRE的隧道协议包含有额外的数据包头,这些数据包头增加了开销,减少了有效内" -"容或是用户数据的可用空间。在不了解虚拟网络架构的情况下,实例尝试用默认的以太" -"网 maximum transmission unit (MTU)1500字节来发送数据" -"包。 Internet protocol (IP) 网络利用 path " -"MTU discovery (PMTUD) 机制来探测和调整数据包的大小。但是有些操作" -"系统或者是网络阻塞、缺乏对PMTUD的支持等原因会造成性能下降或是连接错误。" - -msgid "" -"Two-node architecture with legacy networking (nova-network) and optional " -"nodes for Block Storage and Object Storage services." -msgstr "" -"使用传统网络 (nova-network) 的两个节点架构以及运行块存储和对象存储服务的可选" -"节点。" - -msgid "USER" -msgstr "USER" - -msgid "Ubuntu 14.04" -msgstr "Ubuntu 14.04" - -msgid "" -"Ubuntu installs the openstack-dashboard-ubuntu-theme " -"package as a dependency. Some users reported issues with this theme in " -"previous releases. If you encounter issues, remove this package to restore " -"the original OpenStack theme." -msgstr "" -"Ubuntu 安装 openstack-dashboard-ubuntu-theme 包作为依赖。" -"在前一个版本中,一些用户报告了该主题相关的一些问题。如果您遇到了这些问题,请" -"移除这个包,恢复到原本的 OpenStack 主题。" - -msgid "" -"Unless you have a unique set up for your network, press ENTER." -msgstr "除非你的网络是特殊安装的,否则只需要按ENTER。" - -msgid "" -"Unless you intend to use the exact configuration provided in this example " -"architecture, you must modify the networks in this procedure to match your " -"environment. Also, each node must resolve the other nodes by name in " -"addition to IP address. For example, the controller name must resolve to 10.0.0.11, the IP " -"address of the management interface on the controller node." -msgstr "" -"除非您打算使用该架构样例中提供的准确配置,否则您必须在本过程中修改网络以匹配" -"您的环境。并且,每个节点除了 IP 地址之外,还必须能够解析其他节点的名称。例" -"如,controller 这个名称必须解析为 " -"10.0.0.11,即控制节点上的管理网络接口的 IP 地址。" - -msgid "" -"Unlike other debconf prompts, you cannot pre-seed the " -"responses for the dbconfig-common prompts by using " -". Instead, you must create a file in /etc/dbconfig-" -"common. For example, you might create a keystone configuration " -"file for dbconfig-common that is located in /" -"etc/dbconfig-common/keystone.conf, as follows:" -msgstr "" -"与其它debconf的提示性输入不同,你不能使用" -"为dbconfig-common预置输入。反而,你必须在/etc/" -"dbconfig-common中创建一个文件。例如,你可以为dbconfig-" -"common创建keystone配置文件,放在/etc/dbconfig-common/" -"keystone.conf处,如下所示:" - -msgid "" -"Unset the temporary OS_TOKEN and OS_URL " -"environment variables:" -msgstr "" -"取消临时的OS_TOKENOS_URL 环境变量的设置:" - -msgid "" -"Update the datastore and version to use the specific image with the " -" command." -msgstr "更新数据存储和版本,以通过 命令使用特定的镜像。" - -msgid "" -"Update the package database, upgrade your system, and reboot for all changes " -"to take effect:" -msgstr "更新包数据库,升级您的系统,然后重启以便所有的修改生效:" - -msgid "Update the repository database and install the key:" -msgstr "更新仓库数据库并安装 key:" - -msgid "Upgrade the packages on your system:" -msgstr "更新系统中的这些软件包:" - -msgid "Upload a test file:" -msgstr "上传一个测试文件:" - -msgid "Upload post-provisioning configuration validation rules:" -msgstr "上传 post-provisioning 配置验证规则:" - -msgid "" -"Upload the image to the Image service using the QCOW2 disk format, bare container format, and public visibility so all projects can " -"access it:" -msgstr "" -"使用QCOW2磁" -"盘格式,空白容器格式,和公开可见,上传镜像到镜像服务," -"以便所有的项目都能访问它:" - -msgid "" -"Use the Database service to create cloud database resources. The integrated project name " -"is trove." -msgstr "" -"使用数据库模块来创建云数" -"据库资源。该集成的项目名称为 trove。" - -msgid "Use the command to create a stack from the template:" -msgstr "使用命令行以模板创建一个栈:" - -msgid "" -"Use the command to verify successful creation of the stack:" -msgstr "使用命令行来验证栈的创建是否成功:" - -msgid "Use the YaST network module:" -msgstr "使用 YaST 网络模块:" - -msgid "" -"Use the database access client to connect to the database server as the " -"root user:" -msgstr "以 root 用户身份通过数据库客户端连接到数据库服务:" - -msgid "" -"Use the random value that you generated in a previous step. If you install " -"using non-interactive mode or you do not specify this token, the " -"configuration tool generates a random value." -msgstr "" -"使用在上一步中生成的随机字符串。如果处于非交互模式或者没有指定令牌,配置工具" -"将自动生成一段随机字符串。" - -msgid "Verify addition of the key pair:" -msgstr "验证公钥的添加:" - -msgid "Verify addition of the public key:" -msgstr "验证公钥的添加:" - -msgid "Verify connectivity" -msgstr "验证连通性" - -msgid "Verify creation and availability of the volume:" -msgstr "验证卷的创建和可用性:" - -msgid "Verify creation of the network:" -msgstr "验证网络的创建:" - -msgid "" -"Verify network connectivity using from the controller node " -"or any host on the external network:" -msgstr "" -"在控制节点或其他主机的外部网络上使用 验证网络的连通性:" - -msgid "Verify operation" -msgstr "验证操作" - -msgid "Verify operation of the Compute service." -msgstr "验证计算服务的操作。" - -msgid "" -"Verify operation of the Identity service before installing other services." -msgstr "在安装其他服务之前确认身份认证服务的操作。" - -msgid "Verify the demo-net network:" -msgstr "验证 demo-net 网络:" - -msgid "Verify the demo-net tenant network gateway:" -msgstr "验证 demo-net 租户的网络网关:" - -msgid "Verify the ext-net external network:" -msgstr "验证 ext-net 的外部网络:" - -msgid "Verify the Data processing service installation" -msgstr "验证数据处理服务的安装" - -msgid "Verify the Database service installation" -msgstr "验证数据服务的安装" - -msgid "Verify the Telemetry installation" -msgstr "验证 Telemetry 的安装" - -msgid "Verify the ring contents:" -msgstr "验证 ring 的内容:" - -msgid "" -"We recommend that you verify NTP synchronization before proceeding further. " -"Some nodes, particularly those that reference the controller node, can take " -"several minutes to synchronize." -msgstr "" -"我们建议您在继续进一步的操作之前验证 NTP 的同步。有些节点,特别是哪些引用了控" -"制节点的,需要花费一些时间去同步。" - -msgid "" -"We recommend that you verify network connectivity and resolve any issues " -"before proceeding further. Following the external network subnet example " -"using 203.0.113.0/24, the tenant router gateway should " -"occupy the lowest IP address in the floating IP address range, " -"203.0.113.101. If you configured your external physical " -"network and virtual networks correctly, you should be able to this IP address from any host on your external physical network." -msgstr "" -"我们建议您在继续进行前验证网络连通性和解决其他任何问题。沿袭外部网络子网使用" -"203.0.113.0/24的例子,租户路由网关应该占用了浮动IP地址范围" -"内的最小IP地址,203.0.113.101。如果您正确的配置了您的外部" -"物理网络和虚拟网络,您应该能够从您的外部物理网络上的任意主机" -"这个IP地址。" - -msgid "" -"We recommend that you verify network connectivity to the Internet and among " -"the nodes before proceeding further." -msgstr "我们建议您在继续进行之前,验证到 Internet 和各个节点之间的连通性。" - -msgid "" -"When you implement this architecture, skip in . To use optional " -"services, you might need to build additional nodes, as described in " -"subsequent chapters." -msgstr "" -"如果您完成了这个架构,请跳过 。为了使用可选的服务,您可能需要搭建" -"额外的节点,如后面章节所描述。" - -msgid "" -"When you implement this architecture, skip in . Optional services might " -"require additional nodes or additional resources on existing nodes." -msgstr "" -"如果您完成了这个架构,请跳过 。可选的服务可能需要额外的节点或已有节点" -"上的额外资源。" - -msgid "" -"When you install a package for an API service, you are prompted to register " -"that service. However, after you install or upgrade the package for an API " -"service, Debian immediately removes your response to this prompt from the " -"debconf database. Consequently, you are prompted to re-" -"register the service with the Identity Service. If you already registered " -"the API service, respond no when you upgrade." -msgstr "" -"当你安装好API服务的包后,你被提示注册该服务。但是,在安装或者升级API包之后," -"Debian立即在 debconf数据库中删除了你的输入信息。所以,你又" -"被再次提醒注册服务。如果你已经注册了API服务,只要在升级的时候回答" -"no就可以了。" - -msgid "" -"When you install or upgrade a Debian package, all configuration file values " -"are preserved. Using the debconf " -"database as a registry is considered a bug in Debian. If you edit something " -"in any OpenStack configuration file, the debconf package reads that value when it prepares to prompt " -"the user. For example, to change the log in name for the RabbitMQ messaging " -"queue for a service, you can edit its value in the corresponding " -"configuration file." -msgstr "" -"当你安装或者升级Debian包时,所有的配置文件中的值都会被保留。把debconf数据库作为注册表在Debian中被认为是一个" -"bug。如果你编辑任何OpenStack配置文件,debconf会读出该数据值并且提示给用户。例如,要改变RabbitMQ消息队列的登陆名" -"称,你可以直接在相应的配置文件中编辑该数据值。" - -msgid "" -"You are prompted for the Identity Service admin_token " -"value. The Identity Service uses this value to register the API service. " -"When you set up the keystone package, this value is " -"configured automatically." -msgstr "" -"你被提示要求输入Identity服务的admin_token值。Identity服务" -"使用这个值注册API服务。当你安装了keystone之后,这个值会被" -"自动配置。" - -msgid "You can also reference a flavor by ID." -msgstr "您也可以以 ID 引用类型。" - -msgid "" -"You can modify these ranges and gateways to work with your particular " -"network infrastructure." -msgstr "您可以修改这些范围和网关来以您的特定网络设施进行工作。" - -msgid "" -"You can pre-seed all debconf " -"prompts. To pre-seed means to store responses in the debconf database so that debconf does not prompt the " -"user for responses. Pre-seeding enables a hands-free installation for users. " -"The package maintainer creates scripts that automatically configure the " -"services." -msgstr "" -"你可以对所有的 debconf提示进行预置" -"输入。预置输入是指在debconf数据库中保存响应的内容,这样" -"debconf就无需再提示用户进行响应。预置输入可以让用户不干预" -"安装进程。软件包的维护者生成脚本来自动配置相关服务。" - -msgid "You can repeat this procedure to create additional projects and users." -msgstr "你可以重复此过程来创建额外的项目和用户。" - -msgid "" -"You must add the heat_stack_owner role to users that " -"manage stacks." -msgstr "您必须为管理栈的用户添加 heat_stack_owner 的角色。" - -msgid "" -"You must configure each storage node before you install and configure the " -"Object Storage service on it. Similar to the controller node, each storage " -"node contains one network interface on the management network. Optionally, each storage node can contain a second network " -"interface on a separate network for replication. For more information, see " -"." -msgstr "" -"在您安装和配置卷服务之前,您必须先配置存储节点。类似于控制节点,存储节点包含" -"一个 管理网络 接口上的网络。存储节点可以选择性地包含第" -"二个网络接口到一个独立地网络上,用以复制。要了解更多信息,请阅读。" - -msgid "" -"You must configure the storage node before you install and configure the " -"volume service on it. Similar to the controller node, the storage node " -"contains one network interface on the management network. The storage node also needs an empty block storage device of " -"suitable size for your environment. For more information, see ." -msgstr "" -"在您安装和配置卷服务之前,您必须先配置存储节点。类似于控制节点,存储节点包含" -"一个 管理网络 接口上的网络。存储节点也需要一个适合您环" -"境大小的空的块存储设备。要了解更多信息,请阅读。" - -msgid "You must create a partition table and file system to use the volume." -msgstr "您必须创建一个分开的表和文件系统以使用卷。" - -msgid "" -"You must enable remote access before you install OpenStack services on " -"multiple nodes." -msgstr "在你安装OpenStack服务到多节点上之前必须保证能远程访问。" - -msgid "" -"You must install NTP to properly synchronize services among nodes. We recommend that " -"you configure the controller node to reference more accurate (lower stratum) " -"servers and other nodes to reference the controller node." -msgstr "" -"您必须安装 NTP 来正确地在各个节点之间同步服务。我们推荐您配置控制节点来关联更准确" -"的 (下层的) 服务器,然后将其他节点与控制节点关联。" - -msgid "" -"You must pass the value of the authentication token to the " -"command with the --os-token parameter or set the " -"OS_TOKEN environment variable. Similarly, you must also pass " -"the value of the Identity service URL to the command with " -"the --os-url parameter or set the OS_URL environment variable. This guide uses environment variables to reduce " -"command length." -msgstr "" -"您必须使用--os-token 参数或设置OS_TOKEN" -"环境变量传递认证令牌的值给命令。类似的,您必须传递使用参数 " -"--os-url 或设置OS_URL环境变量传递认证服" -"务URL给命令。本教程使用环境变量缩短命令行的长度。" - -msgid "You must reference volumes using the IDs instead of names." -msgstr "您必须使用实例的 ID 来关联卷,不能使用实例名称。" - -msgid "" -"You must source the admin tenant credentials for this " -"step and then source the demo tenant credentials for the " -"remaining steps." -msgstr "" -"您必需 source admin 租户的凭证来执行该步骤,然后再 source " -"demo 租户的凭证来执行剩下的步骤。" - -msgid "" -"You must use an account with administrative privileges to configure each " -"node. Either run the commands as the root user or " -"configure the sudo utility." -msgstr "" -"您必须使用一个包含管理员权限的帐户来配置每个节点。以 root " -"用户执行命令或配置使用 sudo。" - -msgid "" -"You need to install the required packages. For now, sahara doesn't have " -"packages for Ubuntu. Documentation will be updated once the packages are " -"available. The rest of this document assumes that you have the sahara " -"service packages installed on the system." -msgstr "" -"您需要安装依赖的包。目前,sahara 没有 Ubuntu 的包。包可用时,文档会更新。该文" -"档会假设您已经在系统中安装了 sahara 服务的相关包。" - -msgid "" -"You need to take upstream api-paste.ini and change " -"content below in it:" -msgstr "您需要采用上游的 api-paste.ini 并修改以下内容:" - -msgid "You should see output similar to this:" -msgstr "您应该看到类似如下的输出:" - -msgid "" -"Your OpenStack environment now includes Block Storage. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"您的OpenStack环境现在已经包含块存储。您可以 新建实例或参考接下来的章节来添加更多的服务到您的环境中去。" - -msgid "" -"Your OpenStack environment now includes Object Storage. You can launch an instance or add more services " -"to your environment in the following chapters." -msgstr "" -"您的OpenStack环境现在已经包含对象存储。您可以 新建实例或参考接下来的章节来添加更多的服务到您的环境中去。" - -msgid "" -"Your OpenStack environment now includes Orchestration. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"您的 OpenStack 环境现在已经包含了 Orchestration。您可以启动实例或根据以下章节添加更多的服务到您的环境中。" - -msgid "" -"Your OpenStack environment now includes Telemetry. You can launch an instance or add more services to your " -"environment in the previous chapters." -msgstr "" -"您的 OpenStack 环境现在已经包含了 Telemetry。您可以创建实例或如前面章节所示添加更多的服务到您的环境中。" - -msgid "" -"Your OpenStack environment now includes the core components necessary to " -"launch a basic instance. You can launch an " -"instance or add more OpenStack services to your environment." -msgstr "" -"您的 OpenStack 环境已经包含了启动一台基本实例所需的内核组件。您可以启动一台实例或添加更多的 OpenStack 服务到" -"您的环境中。" - -msgid "" -"Your OpenStack environment now includes the dashboard. You can launch an instance or add more services to your " -"environment in the following chapters." -msgstr "" -"现在您的 OpenStack 环境已经包含了仪表板。您可以 创建实例 或根据下面的章节添加更多的服务到您的环境中。" - -msgid "" -"Your first instance uses the cirros-0.3.4-x86_64 image." -msgstr "您的第一台实例使用的是 cirros-0.3.4-x86_64 镜像。" - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"您的第一台实例将使用 default 安全组。默认情况下,这个安全" -"组生成了阻塞远程访问实例的防火墙规则。如果您想允许远程访问实例,启动它然后" -"配置远程访问。" - -msgid "" -"Your first instance uses the default security group. By " -"default, this security group implements a firewall that blocks remote access " -"to instances. If you would like to permit remote access to your instance, " -"launch it and then " -"configure remote access." -msgstr "" -"您的第一台实例使用的是 default 安全组。默认情况下,这个安" -"全组实现了一个防火墙,会阻塞远程对实例的访问。如果您想要授权远程访问实例,启" -"动它然后 配置远程访问。" - -msgid "" -"Your first instance uses the demo-net tenant network. " -"However, you must reference this network using the ID instead of the name." -msgstr "" -"您的第一台实例使用的是 demo-net 租户网络。但是,您必须引用" -"网络的 ID 而不是网络名称。" - -msgid "Your first instance uses the m1.tiny flavor." -msgstr "您的第一台实例使用的是 m1.tiny 类型。" - -msgid "active" -msgstr "激活" - -msgid "api-paste.ini" -msgstr "api-paste.ini" - -msgid "ceilometer" -msgstr "ceilometer" - -msgid "cinder" -msgstr "cinder" - -msgid "compute1" -msgstr "compute1" - -msgid "controller" -msgstr "控制器" - -msgid "datastore_manager" -msgstr "datastore_manager" - -msgid "datastore_name" -msgstr "datastore_name" - -msgid "datastore_version" -msgstr "datastore_version" - -msgid "debconf concepts" -msgstr "debconf概念" - -msgid "demo-instance1" -msgstr "demo-instance1" - -msgid "glance" -msgstr "glance" - -msgid "glance_image_ID" -msgstr "glance_image_ID" - -msgid "glance_image_id" -msgstr "glance_image_id" - -msgid "guest" -msgstr "客户机" - -msgid "heat" -msgstr "heat" - -msgid "keystone" -msgstr "keystone" - -msgid "kilo" -msgstr "Kilo" - -msgid "name" -msgstr "名称" - -msgid "network" -msgstr "网络" - -msgid "neutron" -msgstr "neutron" - -msgid "nova" -msgstr "nova" - -msgid "openSUSE and SUSE Linux Enterprise Server" -msgstr "openSUSE 和 SUSE Linux Enterprise Server" - -msgid "packages" -msgstr "软件包" - -msgid "swift" -msgstr "swift" - -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -msgid "translator-credits" -msgstr "translator-credits" - -msgid "trove" -msgstr "trove" - -msgid "trove-conductor.conf" -msgstr "trove-conductor.conf" - -msgid "trove-taskmanager.conf" -msgstr "trove-taskmanager.conf" - -msgid "trove.conf" -msgstr "trove.conf" - -msgid "version_name" -msgstr "version_name" diff --git a/doc/install-guide/pom.xml b/doc/install-guide/pom.xml deleted file mode 100644 index 0a14517643..0000000000 --- a/doc/install-guide/pom.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - org.openstack.docs - parent-pom - 1.0.0-SNAPSHOT - ../pom.xml - - 4.0.0 - openstack-install-guide - jar - OpenStack Installation Guide - - - local - 1 - apt - - ubuntu - - - - - - - - com.rackspace.cloud.api - clouddocs-maven-plugin - - - - generate-webhelp - - generate-webhelp - - generate-sources - - - ${comments.enabled} - os-install-${operating.system} - 1 - UA-17511903-1 - - appendix toc,title - article/appendix nop - article toc,title - book toc,title,figure,table,example,equation - chapter toc,title - section toc - part toc,title - qandadiv toc - qandaset toc - reference toc,title - set toc,title - - 1 - 0 - 1 - 0 - ${release.path.name}/install-guide/install/${operating.system} - 0 - openstack-install-guide-${operating.system}-${release.path.name} - - - - - ${basedir}/../glossary/glossary-terms.xml - - installer - true - . - - bk-openstack-install-guide.xml - - http://docs.openstack.org/${release.path.name}/install-guide/install/${operating.system}/content - openstack - ${profile.os} - - - - - diff --git a/doc/install-guide/roadmap.rst b/doc/install-guide/roadmap.rst deleted file mode 100644 index 423a246a26..0000000000 --- a/doc/install-guide/roadmap.rst +++ /dev/null @@ -1,33 +0,0 @@ -Roadmap for Install Guides --------------------------- - -This file is stored with the source to offer ideas for what to work on. -Put your name next to a task if you want to work on it and put a WIP -review up on review.openstack.org. - -May 20, 2014 - -This guide has an overall blueprint with spec at: -https://wiki.openstack.org/wiki/Documentation/InstallationGuideImprovements - -To do tasks: - -- Unify chapter and section names (such as Overview) -- Add sample output of each command and highlight important parts -- Mention project as standard but tenant must be used for CLI params -- Refer to generic SQL database and update for MariaDB (RHEL), MySQL, - and PostgreSQL -- Provide sample configuration files for each node -- Compute and network nodes should reference server on controller node -- Update password list -- Add audience information; who is this book intended for - -Ongoing tasks: - -- Ensure it meets conventions and standards -- Continually update with latest release information relevant to install - -Wishlist tasks: - -- Replace all individual client commands (like keystone, nova) with - openstack client commands diff --git a/doc/install-guide/section_basics-database.xml b/doc/install-guide/section_basics-database.xml deleted file mode 100644 index e3c8e03fab..0000000000 --- a/doc/install-guide/section_basics-database.xml +++ /dev/null @@ -1,143 +0,0 @@ - -

    - - SQL database - Most OpenStack services use an SQL database to store information. - The database typically runs on the controller node. The procedures in - this guide use MariaDB or - MySQL depending on the distribution. - OpenStack services also support other SQL databases including - PostgreSQL. - - To install and configure the database server - - Install the packages: - - The Python MySQL library is compatible with MariaDB. - - # apt-get install mariadb-server python-mysqldb - # apt-get install mysql-server python-mysqldb - # yum install mariadb mariadb-server MySQL-python - # zypper install mariadb-client mariadb python-mysql - - - Choose a suitable password for the database root account. - - - Create and edit the - /etc/mysql/conf.d/mysqld_openstack.cnf file and - complete the following actions: - Create and edit the - /etc/my.cnf.d/mariadb_openstack.cnf file and - complete the following actions: - - - In the [mysqld] section, set the - bind-address key to the management IP - address of the controller node to enable access by other - nodes via the management network: - [mysqld] -... -bind-address = 10.0.0.11 - - - In the [mysqld] section, set the - following keys to enable useful options and the UTF-8 - character set: - [mysqld] -... -default-storage-engine = innodb -innodb_file_per_table -collation-server = utf8_general_ci -init-connect = 'SET NAMES utf8' -character-set-server = utf8 - - - - - - To finalize installation - - Restart the database service: - # service mysql restart - - - Start the database service and configure it to start when the - system boots: - # systemctl enable mariadb.service -# systemctl start mariadb.service - # systemctl enable mysql.service -# systemctl start mysql.service - - - Secure the database service: - Secure the database - service including choosing a suitable password for the root - account: - # mysql_secure_installation -NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB - SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! - -In order to log into MariaDB to secure it, we'll need the current -password for the root user. If you've just installed MariaDB, and -you haven't set the root password yet, the password will be blank, -so you should just press enter here. - -Enter current password for root (enter for none): -OK, successfully used password, moving on... - -Setting the root password ensures that nobody can log into the MariaDB -root user without the proper authorisation. - -Set root password? [Y/n] Y -New password: -Re-enter new password: -Password updated successfully! -Reloading privilege tables.. - ... Success! - - -By default, a MariaDB installation has an anonymous user, allowing anyone -to log into MariaDB without having to have a user account created for -them. This is intended only for testing, and to make the installation -go a bit smoother. You should remove them before moving into a -production environment. - -Remove anonymous users? [Y/n] Y - ... Success! - -Normally, root should only be allowed to connect from 'localhost'. This -ensures that someone cannot guess at the root password from the network. - -Disallow root login remotely? [Y/n] Y - ... Success! - -By default, MariaDB comes with a database named 'test' that anyone can -access. This is also intended only for testing, and should be removed -before moving into a production environment. - -Remove test database and access to it? [Y/n] Y - - Dropping test database... - ... Success! - - Removing privileges on test database... - ... Success! - -Reloading the privilege tables will ensure that all changes made so far -will take effect immediately. - -Reload privilege tables now? [Y/n] Y - ... Success! - -Cleaning up... - -All done! If you've completed all of the above steps, your MariaDB -installation should now be secure. - -Thanks for using MariaDB! - - -
    diff --git a/doc/install-guide/section_basics-networking-neutron.xml b/doc/install-guide/section_basics-networking-neutron.xml deleted file mode 100644 index 919268e515..0000000000 --- a/doc/install-guide/section_basics-networking-neutron.xml +++ /dev/null @@ -1,406 +0,0 @@ - - -%openstack; -]> -
    - - OpenStack Networking (neutron) - The example architecture with OpenStack Networking (neutron) requires - one controller node, one network node, and at least one compute node. - The controller node contains one network interface on the - management network. The network node contains - one network interface on the management network, one on the - instance tunnels network, and one on the - external network. The compute node contains - one network interface on the management network and one on the - instance tunnels network. - The example architecture assumes use of the following networks: - - - Management on 10.0.0.0/24 with gateway 10.0.0.1 - - This network requires a gateway to provide Internet - access to all nodes for administrative purposes such as - package installation, security updates, - DNS, and - NTP. - - - - Instance tunnels on 10.0.1.0/24 without a gateway - - This network does not require a gateway because communication - only occurs among network and compute nodes in your OpenStack - environment. - - - - External on 203.0.113.0/24 with gateway 203.0.113.1 - - This network requires a gateway to provide Internet - access to instances in your OpenStack environment. - - - - You can modify these ranges and gateways to work with your - particular network infrastructure. - - Network interface names vary by distribution. Traditionally, - interfaces use "eth" followed by a sequential number. To cover all - variations, this guide simply refers to the first interface as the - interface with the lowest number, the second interface as the - interface with the middle number, and the third interface as the - interface with the highest number. - -
    - Minimal architecture example with OpenStack Networking - (neutron)—Network layout - - - - - -
    - Unless you intend to use the exact configuration provided in this - example architecture, you must modify the networks in this procedure to - match your environment. Also, each node must resolve the other nodes - by name in addition to IP address. For example, the - controller name must resolve to - 10.0.0.11, the IP address of the management - interface on the controller node. - - Reconfiguring network interfaces will interrupt network - connectivity. We recommend using a local terminal session for these - procedures. - -
    - Controller node - - To configure networking: - - Configure the first interface as the management interface: - IP address: 10.0.0.11 - Network mask: 255.255.255.0 (or /24) - Default gateway: 10.0.0.1 - - - Reboot the system to activate the changes. - - - - To configure name resolution: - - Set the hostname of the node to - controller. - - - Edit the /etc/hosts file to contain the - following: - # controller -10.0.0.11 controller - -# network -10.0.0.21 network - -# compute1 -10.0.0.31 compute1 - - Some distributions add an extraneous entry in the - /etc/hosts file that resolves the actual - hostname to another loopback IP address such as - 127.0.1.1. Note it's - 127.0.1.1, do not remove the required - 127.0.0.1 entry. You must comment out - or remove this entry to prevent name resolution - problems. - - - -
    -
    - Network node - - To configure networking: - - Configure the first interface as the management interface: - IP address: 10.0.0.21 - Network mask: 255.255.255.0 (or /24) - Default gateway: 10.0.0.1 - - - Configure the second interface as the instance tunnels - interface: - IP address: 10.0.1.21 - Network mask: 255.255.255.0 (or /24) - - - The external interface uses a special configuration without an - IP address assigned to it. Configure the third interface as the - external interface: - Replace INTERFACE_NAME with the - actual interface name. For example, eth2 or - ens256. - - - Edit the /etc/network/interfaces file - to contain the following: - # The external network interface -auto INTERFACE_NAME -iface INTERFACE_NAME inet manual - up ip link set dev $IFACE up - down ip link set dev $IFACE down - - - Edit the - /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME - file to contain the following: - Do not change the HWADDR and - UUID keys. - DEVICE=INTERFACE_NAME -TYPE=Ethernet -ONBOOT="yes" -BOOTPROTO="none" - - - Edit the - /etc/sysconfig/network/ifcfg-INTERFACE_NAME file to - contain the following: - STARTMODE='auto' -BOOTPROTO='static' - - - - - Reboot the system to activate the changes. - - - - To configure name resolution: - - Set the hostname of the node to network. - - - Edit the /etc/hosts file to contain the - following: - # network -10.0.0.21 network - -# controller -10.0.0.11 controller - -# compute1 -10.0.0.31 compute1 - - Some distributions add an extraneous entry in the - /etc/hosts file that resolves the actual - hostname to another loopback IP address such as - 127.0.1.1. Note it's - 127.0.1.1, do not remove the required - 127.0.0.1 entry. You must comment out - or remove this entry to prevent name resolution - problems. - - - -
    -
    - Compute node - - To configure networking: - - Configure the first interface as the management interface: - IP address: 10.0.0.31 - Network mask: 255.255.255.0 (or /24) - Default gateway: 10.0.0.1 - - Additional compute nodes should use 10.0.0.32, 10.0.0.33, - and so on. - - - - Configure the second interface as the instance tunnels - interface: - IP address: 10.0.1.31 - Network mask: 255.255.255.0 (or /24) - - Additional compute nodes should use 10.0.1.32, 10.0.1.33, - and so on. - - - - Reboot the system to activate the changes. - - - - To configure name resolution: - - Set the hostname of the node to compute1. - - - Edit the /etc/hosts file to contain the - following: - # compute1 -10.0.0.31 compute1 - -# controller -10.0.0.11 controller - -# network -10.0.0.21 network - - Some distributions add an extraneous entry in the - /etc/hosts file that resolves the actual - hostname to another loopback IP address such as - 127.0.1.1. You must comment out or remove - this entry to prevent name resolution problems. - - - -
    -
    - Verify connectivity - We recommend that you verify network connectivity to the Internet - and among the nodes before proceeding further. - - - From the controller node, - ping a site on the Internet: - # ping -c 4 openstack.org -PING openstack.org (174.143.194.225) 56(84) bytes of data. -64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms -64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms - ---- openstack.org ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3022ms -rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms - - - From the controller node, - ping the management interface on the - network node: - # ping -c 4 network -PING network (10.0.0.21) 56(84) bytes of data. -64 bytes from network (10.0.0.21): icmp_seq=1 ttl=64 time=0.263 ms -64 bytes from network (10.0.0.21): icmp_seq=2 ttl=64 time=0.202 ms -64 bytes from network (10.0.0.21): icmp_seq=3 ttl=64 time=0.203 ms -64 bytes from network (10.0.0.21): icmp_seq=4 ttl=64 time=0.202 ms - ---- network ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3000ms -rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms - - - From the controller node, - ping the management interface on the - compute node: - # ping -c 4 compute1 -PING compute1 (10.0.0.31) 56(84) bytes of data. -64 bytes from compute1 (10.0.0.31): icmp_seq=1 ttl=64 time=0.263 ms -64 bytes from compute1 (10.0.0.31): icmp_seq=2 ttl=64 time=0.202 ms -64 bytes from compute1 (10.0.0.31): icmp_seq=3 ttl=64 time=0.203 ms -64 bytes from compute1 (10.0.0.31): icmp_seq=4 ttl=64 time=0.202 ms - ---- network ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3000ms -rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms - - - From the network node, - ping a site on the Internet: - # ping -c 4 openstack.org -PING openstack.org (174.143.194.225) 56(84) bytes of data. -64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms -64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms - ---- openstack.org ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3022ms -rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms - - - From the network node, - ping the management interface on the - controller node: - # ping -c 4 controller -PING controller (10.0.0.11) 56(84) bytes of data. -64 bytes from controller (10.0.0.11): icmp_seq=1 ttl=64 time=0.263 ms -64 bytes from controller (10.0.0.11): icmp_seq=2 ttl=64 time=0.202 ms -64 bytes from controller (10.0.0.11): icmp_seq=3 ttl=64 time=0.203 ms -64 bytes from controller (10.0.0.11): icmp_seq=4 ttl=64 time=0.202 ms - ---- controller ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3000ms -rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms - - - From the network node, - ping the instance tunnels interface on the - compute node: - # ping -c 4 10.0.1.31 -PING 10.0.1.31 (10.0.1.31) 56(84) bytes of data. -64 bytes from 10.0.1.31 (10.0.1.31): icmp_seq=1 ttl=64 time=0.263 ms -64 bytes from 10.0.1.31 (10.0.1.31): icmp_seq=2 ttl=64 time=0.202 ms -64 bytes from 10.0.1.31 (10.0.1.31): icmp_seq=3 ttl=64 time=0.203 ms -64 bytes from 10.0.1.31 (10.0.1.31): icmp_seq=4 ttl=64 time=0.202 ms - ---- 10.0.1.31 ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3000ms -rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms - - - From the compute node, - ping a site on the Internet: - # ping -c 4 openstack.org -PING openstack.org (174.143.194.225) 56(84) bytes of data. -64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms -64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms - ---- openstack.org ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3022ms -rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms - - - From the compute node, - ping the management interface on the - controller node: - # ping -c 4 controller -PING controller (10.0.0.11) 56(84) bytes of data. -64 bytes from controller (10.0.0.11): icmp_seq=1 ttl=64 time=0.263 ms -64 bytes from controller (10.0.0.11): icmp_seq=2 ttl=64 time=0.202 ms -64 bytes from controller (10.0.0.11): icmp_seq=3 ttl=64 time=0.203 ms -64 bytes from controller (10.0.0.11): icmp_seq=4 ttl=64 time=0.202 ms - ---- controller ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3000ms -rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms - - - From the compute node, - ping the instance tunnels interface on the - network node: - # ping -c 4 10.0.1.21 -PING 10.0.1.21 (10.0.1.21) 56(84) bytes of data. -64 bytes from 10.0.1.21 (10.0.1.21): icmp_seq=1 ttl=64 time=0.263 ms -64 bytes from 10.0.1.21 (10.0.1.21): icmp_seq=2 ttl=64 time=0.202 ms -64 bytes from 10.0.1.21 (10.0.1.21): icmp_seq=3 ttl=64 time=0.203 ms -64 bytes from 10.0.1.21 (10.0.1.21): icmp_seq=4 ttl=64 time=0.202 ms - ---- 10.0.1.21 ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3000ms -rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms - - -
    -
    diff --git a/doc/install-guide/section_basics-networking-nova.xml b/doc/install-guide/section_basics-networking-nova.xml deleted file mode 100644 index 6c15427423..0000000000 --- a/doc/install-guide/section_basics-networking-nova.xml +++ /dev/null @@ -1,258 +0,0 @@ - - -%openstack; -]> -
    - - Legacy networking (nova-network) - The example architecture with legacy networking (nova-network) - requires a controller node and at least one compute node. The controller - node contains one network interface on the - management network. The compute node contains - one network interface on the management network and one on the - external network. - The example architecture assumes use of the following networks: - - - Management on 10.0.0.0/24 with gateway 10.0.0.1 - - This network requires a gateway to provide Internet - access to all nodes for administrative purposes such as - package installation, security updates, - DNS, and - NTP. - - - - External on 203.0.113.0/24 with gateway 203.0.113.1 - - This network requires a gateway to provide Internet - access to instances in your OpenStack environment. - - - - You can modify these ranges and gateways to work with your - particular network infrastructure. - - Network interface names vary by distribution. Traditionally, - interfaces use "eth" followed by a sequential number. To cover all - variations, this guide simply refers to the first interface as the - interface with the lowest number and the second interface as the - interface with the highest number. - -
    - Minimal architecture example with legacy networking - (nova-network)—Network layout - - - - - -
    - Unless you intend to use the exact configuration provided in this - example architecture, you must modify the networks in this procedure to - match your environment. Also, each node must resolve the other nodes - by name in addition to IP address. For example, the - controller name must resolve to - 10.0.0.11, the IP address of the management - interface on the controller node. - - Reconfiguring network interfaces will interrupt network - connectivity. We recommend using a local terminal session for these - procedures. - -
    - Controller node - - To configure networking: - - Configure the first interface as the management interface: - IP address: 10.0.0.11 - Network mask: 255.255.255.0 (or /24) - Default gateway: 10.0.0.1 - - - Reboot the system to activate the changes. - - - - To configure name resolution: - - Set the hostname of the node to - controller. - - - Edit the /etc/hosts file to contain the - following: - # controller -10.0.0.11 controller - -# compute1 -10.0.0.31 compute1 - - Some distributions add an extraneous entry in the - /etc/hosts file that resolves the actual - hostname to another loopback IP address such as - 127.0.1.1. Note it's - 127.0.1.1, do not remove the required - 127.0.0.1 entry. You must comment out - or remove this entry to prevent name resolution - problems. - - - -
    -
    - Compute node - - To configure networking: - - Configure the first interface as the management interface: - IP address: 10.0.0.31 - Network mask: 255.255.255.0 (or /24) - Default gateway: 10.0.0.1 - - Additional compute nodes should use 10.0.0.32, 10.0.0.33, - and so on. - - - - The external interface uses a special configuration without an - IP address assigned to it. Configure the second interface as the - external interface: - Replace INTERFACE_NAME with the - actual interface name. For example, eth1 or - ens224. - - - Edit the /etc/network/interfaces file - to contain the following: - # The external network interface -auto INTERFACE_NAME -iface INTERFACE_NAME inet manual - up ip link set dev $IFACE up - down ip link set dev $IFACE down - - - Edit the - /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME - file to contain the following: - Do not change the HWADDR and - UUID keys. - DEVICE=INTERFACE_NAME -TYPE=Ethernet -ONBOOT="yes" -BOOTPROTO="none" - - - Edit the - /etc/sysconfig/network/ifcfg-INTERFACE_NAME - file to contain the following: - STARTMODE='auto' -BOOTPROTO='static' - - - - - Reboot the system to activate the changes. - - - - To configure name resolution: - - Set the hostname of the node to compute1. - - - Edit the /etc/hosts file to contain the - following: - # compute1 -10.0.0.31 compute1 - -# controller -10.0.0.11 controller - - Some distributions add an extraneous entry in the - /etc/hosts file that resolves the actual - hostname to another loopback IP address such as - 127.0.1.1. Note it's - 127.0.1.1, do not remove the required - 127.0.0.1 entry. You must comment out - or remove this entry to prevent name resolution - problems. - - - -
    -
    - Verify connectivity - We recommend that you verify network connectivity to the Internet - and among the nodes before proceeding further. - - - From the controller node, - ping a site on the Internet: - # ping -c 4 openstack.org -PING openstack.org (174.143.194.225) 56(84) bytes of data. -64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms -64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms - ---- openstack.org ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3022ms -rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms - - - From the controller node, - ping the management interface on the - compute node: - # ping -c 4 compute1 -PING compute1 (10.0.0.31) 56(84) bytes of data. -64 bytes from compute1 (10.0.0.31): icmp_seq=1 ttl=64 time=0.263 ms -64 bytes from compute1 (10.0.0.31): icmp_seq=2 ttl=64 time=0.202 ms -64 bytes from compute1 (10.0.0.31): icmp_seq=3 ttl=64 time=0.203 ms -64 bytes from compute1 (10.0.0.31): icmp_seq=4 ttl=64 time=0.202 ms - ---- compute1 ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3000ms -rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms - - - From the compute node, - ping a site on the Internet: - # ping -c 4 openstack.org -PING openstack.org (174.143.194.225) 56(84) bytes of data. -64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms -64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms -64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms - ---- openstack.org ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3022ms -rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms - - - From the compute node, - ping the management interface on the - controller node: - # ping -c 4 controller -PING controller (10.0.0.11) 56(84) bytes of data. -64 bytes from controller (10.0.0.11): icmp_seq=1 ttl=64 time=0.263 ms -64 bytes from controller (10.0.0.11): icmp_seq=2 ttl=64 time=0.202 ms -64 bytes from controller (10.0.0.11): icmp_seq=3 ttl=64 time=0.203 ms -64 bytes from controller (10.0.0.11): icmp_seq=4 ttl=64 time=0.202 ms - ---- controller ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3000ms -rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms - - -
    -
    diff --git a/doc/install-guide/section_basics-networking.xml b/doc/install-guide/section_basics-networking.xml deleted file mode 100644 index 062a0b70a0..0000000000 --- a/doc/install-guide/section_basics-networking.xml +++ /dev/null @@ -1,84 +0,0 @@ - -
    - - Networking - After installing the operating system on each node for the - architecture that you choose to deploy, you must configure the network - interfaces. We recommend that you disable any automated network - management tools and manually edit the appropriate configuration files - for your distribution. For more information on how to configure networking - on your distribution, see the - documentation. - documentation. - documentation. - SLES 12 - or - openSUSE documentation. - All nodes require Internet access for administrative purposes - such as package installation, security updates, - DNS, and - NTP. In most cases, nodes should obtain Internet - access through the management network interface. To highlight - the importance of network separation, the example architectures - use private address space for the management network and assume - that network infrastructure provides Internet access via - NAT. To illustrate the flexibility of - IaaS, the example architectures use public - IP address space for the external network and assume that network - infrastructure provides direct Internet access to instances in - your OpenStack environment. In environments with only one block - of public IP address space, both the management and external networks - must ultimately obtain Internet access using it. For simplicity, the - diagrams in this guide only show Internet access for OpenStack - services. - - To disable Network Manager - - Use the YaST network module: - # yast2 network - For more information, see the - SLES or - the - - openSUSE documentation. - - - - - Your distribution enables - a restrictive firewall by default. During the - installation process, certain steps will fail unless you alter or - disable the firewall. For more information about securing your - environment, refer to the - OpenStack - Security Guide. - Your distribution does not enable a - restrictive firewall by default. For more - information about securing your environment, refer to the - OpenStack - Security Guide. - - Proceed to network configuration for the example - OpenStack Networking (neutron) - or legacy - networking (nova-network) architecture. - - -
    diff --git a/doc/install-guide/section_basics-ntp.xml b/doc/install-guide/section_basics-ntp.xml deleted file mode 100644 index 93168c9c95..0000000000 --- a/doc/install-guide/section_basics-ntp.xml +++ /dev/null @@ -1,156 +0,0 @@ - -
    - - Network Time Protocol (NTP) - You must install - NTP to - properly synchronize services among nodes. We recommend that you configure - the controller node to reference more accurate (lower stratum) servers and - other nodes to reference the controller node. -
    - Controller node - - To install the NTP service - - # apt-get install ntp - # yum install ntp - # zypper install ntp - - - - To configure the NTP service - By default, the controller node synchronizes the time via a pool - of public servers. However, you can optionally edit the - /etc/ntp.conf file to configure alternative - servers such as those provided by your organization. - - Edit the /etc/ntp.conf file and add, - change, or remove the following keys as necessary for your - environment: - server NTP_SERVER iburst -restrict -4 default kod notrap nomodify -restrict -6 default kod notrap nomodify - Replace NTP_SERVER with the - hostname or IP address of a suitable more accurate (lower stratum) - NTP server. The configuration supports multiple - server keys. - - For the restrict keys, you essentially - remove the nopeer and noquery - options. - - - Remove the /var/lib/ntp/ntp.conf.dhcp file - if it exists. - - - - Restart the NTP service: - # service ntp restart - - - Start the NTP service and configure it to start when the system - boots: - # systemctl enable ntpd.service -# systemctl start ntpd.service - - -
    -
    - Other nodes - - To install the NTP service - - # apt-get install ntp - # yum install ntp - # zypper install ntp - - - - To configure the NTP service - Configure the network and compute nodes to reference the - controller node. - - Edit the /etc/ntp.conf file: - Comment out or remove all but one server - key and change it to reference the controller node. - server controller iburst - - Remove the /var/lib/ntp/ntp.conf.dhcp file - if it exists. - - - - Restart the NTP service: - # service ntp restart - - - Start the NTP service and configure it to start when the system - boots: - # systemctl enable ntpd.service -# systemctl start ntpd.service - - -
    -
    - Verify operation - We recommend that you verify NTP synchronization before proceeding - further. Some nodes, particularly those that reference the controller - node, can take several minutes to synchronize. - - - Run this command on the controller node: - - # ntpq -c peers - remote refid st t when poll reach delay offset jitter -============================================================================== -*ntp-server1 192.0.2.11 2 u 169 1024 377 1.901 -0.611 5.483 -+ntp-server2 192.0.2.12 2 u 887 1024 377 0.922 -0.246 2.864 - Contents in the remote column should - indicate the hostname or IP address of one or more NTP servers. - - Contents in the refid column typically - reference IP addresses of upstream servers. - - - - Run this command on the controller node: - - # ntpq -c assoc -ind assid status conf reach auth condition last_event cnt -=========================================================== - 1 20487 961a yes yes none sys.peer sys_peer 1 - 2 20488 941a yes yes none candidate sys_peer 1 - Contents in the condition column should - indicate sys.peer for at least one server. - - - Run this command on all other nodes: - # ntpq -c peers - remote refid st t when poll reach delay offset jitter -============================================================================== -*controller 192.0.2.21 3 u 47 64 37 0.308 -0.251 0.079 - Contents in the remote column should - indicate the hostname of the controller node. - - Contents in the refid column typically - reference IP addresses of upstream servers. - - - - Run this command on all other nodes: - - # ntpq -c assoc -ind assid status conf reach auth condition last_event cnt -=========================================================== - 1 21181 963a yes yes none sys.peer sys_peer 3 - Contents in the condition column should - indicate sys.peer. - - -
    -
    diff --git a/doc/install-guide/section_basics-packages.xml b/doc/install-guide/section_basics-packages.xml deleted file mode 100644 index 812001f632..0000000000 --- a/doc/install-guide/section_basics-packages.xml +++ /dev/null @@ -1,173 +0,0 @@ - -
    - - OpenStack packages - Distributions release OpenStack packages as part of the distribution - or using other methods because of differing release schedules. Perform - these procedures on all nodes. - - Disable or remove any automatic update services because they can - impact your OpenStack environment. - - - To enable the OpenStack repository - - Install the Ubuntu Cloud archive keyring and repository: - # apt-get install ubuntu-cloud-keyring -# echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \ - "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list - - - - To configure prerequisites - - On RHEL and CentOS, enable the - EPEL repository: - # yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm - - Fedora does not require this repository. - - - - On RHEL, enable additional repositories using the subscription - manager: - # subscription-manager repos --enable=rhel-7-server-optional-rpms -# subscription-manager repos --enable=rhel-7-server-extras-rpms - - CentOS and Fedora do not require these repositories. - - - - - To enable the OpenStack repository - - Install the rdo-release-kilo package to enable - the RDO repository: - # yum install http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm - - - - To enable the OpenStack repository - - Enable the Open Build Service repositories based on your openSUSE - or SLES version: - On openSUSE 13.2: - # zypper addrepo -f obs://Cloud:OpenStack:Kilo/openSUSE_13.2 Kilo - The openSUSE distribution uses the concept of patterns to represent - collections of packages. If you selected 'Minimal Server Selection (Text Mode)' - during initial installation, you may be presented with a dependency conflict when you - attempt to install the OpenStack packages. To avoid this, remove the minimal_base-conflicts package: - # zypper rm patterns-openSUSE-minimal_base-conflicts - On SLES 12: - # zypper addrepo -f obs://Cloud:OpenStack:Kilo/SLE_12 Kilo - - The packages are signed by GPG key 893A90DAD85F9316. You should - verify the fingerprint of the imported GPG key before using - it. - Key ID: 893A90DAD85F9316 -Key Name: Cloud:OpenStack OBS Project <Cloud:OpenStack@build.opensuse.org> -Key Fingerprint: 35B34E18ABC1076D66D5A86B893A90DAD85F9316 -Key Created: Tue Oct 8 13:34:21 2013 -Key Expires: Thu Dec 17 13:34:21 2015 - - - - - To use the Debian Wheezy backports archive for - Juno - The Juno release is available - only in Debian Experimental (otherwise called rc-buggy), - as Jessie is frozen soon, and will contain Icehouse. - However, the Debian maintainers - of OpenStack also maintain a non-official Debian repository - for OpenStack containing Wheezy backports. - - On all nodes, install the Debian Wheezy backport repository - Juno: - # echo "deb http://archive.gplhost.com/debian juno-backports main" >>/etc/apt/sources.list - - - Install the Debian Wheezy OpenStack repository for - Juno: - # echo "deb http://archive.gplhost.com/debian juno main" >>/etc/apt/sources.list - - - Update the repository database and install the key: - # apt-get update && apt-get install gplhost-archive-keyring - - - Update the package database, upgrade your system, and reboot - for all changes to take effect: - # apt-get update && apt-get dist-upgrade -# reboot - - - Numerous archive.gplhost.com mirrors are - available around the world. All are available with both FTP and - HTTP protocols (you should use the closest mirror). The list of - mirrors is available at http://archive.gplhost.com/readme.mirrors. - - Manually install python-argparse - The Debian OpenStack packages are maintained on Debian Sid - (also known as Debian Unstable) - the current development - version. Backported packages run correctly on Debian Wheezy with - one caveat: - All OpenStack packages are written in Python. All packages - support version 2.7; porting to Python version 3 is ongoing. - Note that Debian Wheezy uses - Python 2.6 and 2.7, with Python 2.7 as the default interpreter; - Sid has only Python 2.7. There is one packaging change between - these two. In Python 2.6, you installed the - python-argparse package separately. In - Python 2.7, this package is installed by default. Unfortunately, - in Python 2.7, this package does not include Provides: - python-argparse directive. - - Because the packages are maintained in Sid where the - Provides: python-argparse directive causes an - error, and the Debian OpenStack maintainer wants to maintain one - version of the OpenStack packages, you must manually install the - python-argparse on each OpenStack system - that runs Debian Wheezy before you install the other OpenStack - packages. Use the following command to install the - package: - # apt-get install python-argparse - This caveat applies to most OpenStack packages in - Wheezy. - - - - To finalize installation - - Upgrade the packages on your system: - # apt-get update && apt-get dist-upgrade - # yum upgrade - # zypper refresh && zypper dist-upgrade - - If the upgrade process includes a new kernel, reboot your system - to activate it. - - - - RHEL and CentOS enable SELinux by - default. Install the openstack-selinux package - to automatically manage security policies for OpenStack - services: - # yum install openstack-selinux - - Fedora does not require this package. - - - The installation process for this package can take a - while. - - - -
    diff --git a/doc/install-guide/section_basics-prerequisites.xml b/doc/install-guide/section_basics-prerequisites.xml deleted file mode 100644 index faef78e758..0000000000 --- a/doc/install-guide/section_basics-prerequisites.xml +++ /dev/null @@ -1,70 +0,0 @@ - -
    - - Before you begin - For best performance, we recommend that your environment meets or - exceeds the hardware requirements in - or - . However, - OpenStack does not require a significant amount of resources and the - following minimum requirements should support a proof-of-concept - environment with core services and several - CirrOS instances: - - - Controller Node: 1 processor, 2 GB memory, and 5 GB - storage - - - Network Node: 1 processor, 512 MB memory, and 5 GB - storage - - - Compute Node: 1 processor, 2 GB memory, and 10 GB - storage - - - To minimize clutter and provide more resources for OpenStack, we - recommend a minimal installation of your Linux distribution. Also, we - strongly recommend that you install a 64-bit version of your distribution - on at least the compute node. If you install a 32-bit version of your - distribution on the compute node, attempting to start an instance using - a 64-bit image will fail. - - A single disk partition on each node works for most basic - installations. However, you should consider - Logical Volume Manager (LVM) for installations - with optional services such as Block Storage. - - Many users build their test environments on - virtual machines - (VMs). The primary benefits of VMs include the - following: - - - One physical server can support multiple nodes, each with almost - any number of network interfaces. - - - Ability to take periodic "snap shots" throughout the installation - process and "roll back" to a working configuration in the event of - a problem. - - - However, VMs will reduce performance of your instances, particularly - if your hypervisor and/or processor lacks support for hardware - acceleration of nested VMs. - - If you choose to install on VMs, make sure your hypervisor - permits promiscuous mode and disables MAC - address filtering on the - external network. - - For more information about system requirements, see the OpenStack Operations - Guide. -
    diff --git a/doc/install-guide/section_basics-queue.xml b/doc/install-guide/section_basics-queue.xml deleted file mode 100644 index 241bae128b..0000000000 --- a/doc/install-guide/section_basics-queue.xml +++ /dev/null @@ -1,58 +0,0 @@ - -
    - - Message queue - OpenStack uses a message queue to coordinate - operations and status information among services. The message queue - service typically runs on the controller node. OpenStack supports several - message queue services including - RabbitMQ, - Qpid, and - ZeroMQ. - However, most distributions that package OpenStack support a particular - message queue service. This guide implements the RabbitMQ message queue - service because most distributions support it. If you prefer to implement - a different message queue service, consult the documentation associated - with it. - - To install the message queue service - - Install the package: - # apt-get install rabbitmq-server - - - # yum install rabbitmq-server - - - # zypper install rabbitmq-server - - - - To configure the message queue service - - Start the message queue service and configure it to start when the - system boots: - # systemctl enable rabbitmq-server.service -# systemctl start rabbitmq-server.service - - - Add the openstack user: - # rabbitmqctl add_user openstack RABBIT_PASS -Creating user "openstack" ... -...done. - Replace RABBIT_PASS with a suitable - password. - - - Permit configuration, write, and read access for the - openstack user: - # rabbitmqctl set_permissions openstack ".*" ".*" ".*" -Setting permissions for user "openstack" in vhost "/" ... -...done. - - -
    diff --git a/doc/install-guide/section_basics-security.xml b/doc/install-guide/section_basics-security.xml deleted file mode 100644 index 314ebd704e..0000000000 --- a/doc/install-guide/section_basics-security.xml +++ /dev/null @@ -1,145 +0,0 @@ - -
    - - Security - OpenStack services support various security methods - including password, policy, and encryption. Additionally, - supporting services including the database server and - message broker support at least password security. - To ease the installation process, this guide only - covers password security where applicable. You can create - secure passwords manually, generate them using a tool such as - pwgen, - or by running the following command: - $ openssl rand -hex 10 - For OpenStack services, this guide uses - SERVICE_PASS to reference - service account passwords and - SERVICE_DBPASS to reference - database passwords. - The following table provides a list of services that require - passwords and their associated references in the guide: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Passwords
    Password nameDescription
    Database password (no variable used)Root password for the database
    ADMIN_PASSPassword of user admin
    CEILOMETER_DBPASSDatabase password for the Telemetry service
    CEILOMETER_PASSPassword of Telemetry service user ceilometer
    CINDER_DBPASSDatabase password for the Block Storage service
    CINDER_PASSPassword of Block Storage service user cinder
    DASH_DBPASSDatabase password for the dashboard
    DEMO_PASSPassword of user demo
    GLANCE_DBPASSDatabase password for Image service
    GLANCE_PASSPassword of Image service user glance
    HEAT_DBPASSDatabase password for the Orchestration service
    HEAT_DOMAIN_PASSPassword of Orchestration domain
    HEAT_PASSPassword of Orchestration service user heat
    KEYSTONE_DBPASSDatabase password of Identity service
    NEUTRON_DBPASSDatabase password for the Networking service
    NEUTRON_PASSPassword of Networking service user neutron
    NOVA_DBPASSDatabase password for Compute service
    NOVA_PASSPassword of Compute service user nova
    RABBIT_PASSPassword of user guest of RabbitMQ
    SAHARA_DBPASSDatabase password of Data processing service
    SWIFT_PASSPassword of Object Storage service user swift
    TROVE_DBPASSDatabase password of Database service
    TROVE_PASSPassword of Database service user trove
    -
    - OpenStack and supporting services require administrative - privileges during installation and operation. In some cases, - services perform modifications to the host that can interfere - with deployment automation tools such as Ansible, Chef, and - Puppet. For example, some OpenStack services add a root - wrapper to sudo that can interfere with - security policies. See the - Cloud Administrator Guide - for more information. Also, the Networking service assumes - default values for kernel network parameters and modifies - firewall rules. To avoid most issues during your initial - installation, we recommend using a stock deployment of a - supported distribution on your hosts. However, if you choose - to automate deployment of your hosts, review the configuration - and policies applied to them before proceeding further. -
    diff --git a/doc/install-guide/section_ceilometer-cinder.xml b/doc/install-guide/section_ceilometer-cinder.xml deleted file mode 100644 index 51767d957e..0000000000 --- a/doc/install-guide/section_ceilometer-cinder.xml +++ /dev/null @@ -1,43 +0,0 @@ - -
    - - Configure the Block Storage service - To retrieve volume-oriented events and samples, you must - configure the Block Storage service to send notifications to the - message bus. Perform these steps on the controller and storage - nodes. - - To configure prerequisites - Edit the /etc/cinder/cinder.conf file - and complete the following actions: - - In the [DEFAULT] section, configure - notifications: - [DEFAULT] -... -control_exchange = cinder -notification_driver = messagingv2 - - - Restart the Block Storage services on the controller node: - # service cinder-api restart -# service cinder-scheduler restart - # systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service - - - Restart the Block Storage services on the storage nodes: - # service cinder-volume restart - # systemctl restart openstack-cinder-volume.service - - - Use the cinder-volume-usage-audit command to - retrieve meters on demand. For more information, see - Block Storage audit script setup to get notifications. - - -
    diff --git a/doc/install-guide/section_ceilometer-controller.xml b/doc/install-guide/section_ceilometer-controller.xml deleted file mode 100644 index c25bd12106..0000000000 --- a/doc/install-guide/section_ceilometer-controller.xml +++ /dev/null @@ -1,435 +0,0 @@ - - -%openstack; -]> -
    - Install and configure controller node - This section describes how to install and configure the Telemetry - module, code-named ceilometer, on the controller node. The Telemetry - module uses separate agents to collect measurements from each OpenStack - service in your environment. - - To configure prerequisites - Before you install and configure Telemetry, you must install - MongoDB, create a MongoDB database, - service credentials, and API endpoint. - - Enable the Open Build Service repositories for MongoDB based on - your openSUSE or SLES version: - On openSUSE: - # zypper addrepo -f obs://server:database/openSUSE_13.2 Database - On SLES: - # zypper addrepo -f obs://server:database/SLE_12 Database - - The packages are signed by GPG key - 562111AC05905EA8. You should - verify the fingerprint of the imported GPG key before using - it. - Key Name: server:database OBS Project <server:database@build.opensuse.org> -Key Fingerprint: 116EB86331583E47E63CDF4D562111AC05905EA8 -Key Created: Thu Oct 11 20:08:39 2012 -Key Expires: Sat Dec 20 20:08:39 2014 - - - - Install the MongoDB package: - # yum install mongodb-server mongodb - # zypper install mongodb - # apt-get install mongodb-server mongodb-clients python-pymongo - - - Edit the /etc/mongodb.conf - /etc/mongod.conf file and - complete the following actions: - - - Configure the bind_ip key to use the - management interface IP address of the controller node. - bind_ip = 10.0.0.11 - - - By default, MongoDB creates several 1 GB journal files - in the /var/lib/mongodb/journal - directory. If you want to reduce the size of each journal file - to 128 MB and limit total journal space consumption to - 512 MB, assert the smallfiles key: - smallfiles = true - If you change the journaling configuration, - stop the MongoDB service, remove the initial journal files, and - start the service: - # service mongodb stop -# rm /var/lib/mongodb/journal/prealloc.* -# service mongodb start - You can also disable journaling. For more information, see - the MongoDB manual. - - - Restart the MongoDB service: - # service mongodb restart - - - Start the MongoDB services and configure them to start when - the system boots: - # systemctl enable mongodb.service -# systemctl start mongodb.service - - # systemctl enable mongod.service -# systemctl start mongod.service - - - - - Create the ceilometer database: - # mongo --host controller --eval ' - db = db.getSiblingDB("ceilometer"); - db.createUser({user: "ceilometer", - pwd: "CEILOMETER_DBPASS", - roles: [ "readWrite", "dbAdmin" ]})' - -MongoDB shell version: 2.6.x -connecting to: controller:27017/test -Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] } - # mongo --host controller --eval ' - db = db.getSiblingDB("ceilometer"); - db.addUser({user: "ceilometer", - pwd: "CEILOMETER_DBPASS", - roles: [ "readWrite", "dbAdmin" ]})' - -MongoDB shell version: 2.4.x -connecting to: controller:27017/test -{ - "user" : "ceilometer", - "pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f", - "roles" : [ - "readWrite", - "dbAdmin" - ], - "_id" : ObjectId("5489c22270d7fad1ba631dc3") -} - Replace CEILOMETER_DBPASS with a - suitable password. - - - Source the admin credentials to gain access - to admin-only CLI commands: - $ source admin-openrc.sh - - - To create the service credentials, complete these steps: - - - Create the ceilometer user: - $ openstack user create --password-prompt ceilometer -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | b7657c9ea07a4556aef5d34cf70713a3 | -| name | ceilometer | -| username | ceilometer | -+----------+----------------------------------+ - - - Add the admin role to the - ceilometer user. - $ openstack role add --project service --user ceilometer admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the ceilometer service - entity: - $ openstack service create --name ceilometer \ - --description "Telemetry" metering -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | Telemetry | -| enabled | True | -| id | 3405453b14da441ebb258edfeba96d83 | -| name | ceilometer | -| type | metering | -+-------------+----------------------------------+ - - - - - Create the Telemetry module API endpoint: - $ openstack endpoint create \ - --publicurl http://controller:8777 \ - --internalurl http://controller:8777 \ - --adminurl http://controller:8777 \ - --region RegionOne \ - metering -+--------------+----------------------------------+ -| Field | Value | -+--------------+----------------------------------+ -| adminurl | http://controller:8777 | -| id | d3716d85b10d4e60a67a52c6af0068cd | -| internalurl | http://controller:8777 | -| publicurl | http://controller:8777 | -| region | RegionOne | -| service_id | 3405453b14da441ebb258edfeba96d83 | -| service_name | ceilometer | -| service_type | metering | -+--------------+----------------------------------+ - - - - To configure prerequisites - Before you install and configure Telemetry, you must install - MongoDB. - - Install the MongoDB package: - # apt-get install mongodb-server - - - Edit the /etc/mongodb.conf file and - complete the following actions: - - - Configure the bind_ip key to use the - management interface IP address of the controller node. - bind_ip = 10.0.0.11 - - - By default, MongoDB creates several 1 GB journal files - in the /var/lib/mongodb/journal - directory. If you want to reduce the size of each journal file - to 128 MB and limit total journal space consumption to - 512 MB, assert the smallfiles key: - smallfiles = true - If you change the journaling configuration, stop the MongoDB - service, remove the initial journal files, and start the - service: - # service mongodb stop -# rm /var/lib/mongodb/journal/prealloc.* -# service mongodb start - You can also disable journaling. For more information, see - the MongoDB manual. - - - Restart the MongoDB service: - # service mongodb restart - - - - - - To install and configure the Telemetry module components - - Install the packages: - # apt-get install ceilometer-api ceilometer-collector ceilometer-agent-central \ - ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier \ - python-ceilometerclient - # yum install openstack-ceilometer-api openstack-ceilometer-collector \ - openstack-ceilometer-notification openstack-ceilometer-central openstack-ceilometer-alarm \ - python-ceilometerclient - # zypper install openstack-ceilometer-api openstack-ceilometer-collector \ - openstack-ceilometer-agent-notification openstack-ceilometer-agent-central python-ceilometerclient \ - openstack-ceilometer-alarm-evaluator openstack-ceilometer-alarm-notifier - - - Generate a random value to use as the telemetry secret: - $ openssl rand -hex 10 - - - Edit the /etc/ceilometer/ceilometer.conf file - and complete the following actions: - - - In the [database] section, - configure database access: - [database] -... -connection = mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer - Replace CEILOMETER_DBPASS with - the password you chose for the Telemetry module database. You - must escape special characters such as ':', '/', '+', and '@' - in the connection string in accordance with RFC2396. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - In the [DEFAULT] and - [keystone_authtoken] sections, configure - Identity service access: - [DEFAULT] -... -auth_strategy = keystone - -[keystone_authtoken] -... -auth_uri = http://controller:5000/v2.0 -identity_uri = http://controller:35357 -admin_tenant_name = service -admin_user = ceilometer -admin_password = CEILOMETER_PASS - Replace CEILOMETER_PASS with the - password you chose for the ceilometer - user in the Identity service. - - Comment out any auth_host, - auth_port, and - auth_protocol options because the - identity_uri option replaces them. - - - - In the [service_credentials] - section, configure service credentials: - [service_credentials] -... -os_auth_url = http://controller:5000/v2.0 -os_username = ceilometer -os_tenant_name = service -os_password = CEILOMETER_PASS -os_endpoint_type = internalURL -os_region_name = RegionOne - Replace CEILOMETER_PASS with - the password you chose for the ceilometer - user in the Identity service. - - - In the [publisher] section, configure - the telemetry secret: - [publisher] -... -telemetry_secret = TELEMETRY_SECRET - Replace TELEMETRY_SECRET with the - telemetry secret that you generated in a previous step. - - - In the [collector] section, configure the - dispatcher: - - [collector] -... -dispatcher = database - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - - - To install and configure the Telemetry module components - - Install the packages: - # apt-get install ceilometer-api ceilometer-collector ceilometer-agent-central \ - ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier \ - python-ceilometerclient - - - Respond to prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message broker - credentials. - - - Generate a random value to use as the telemetry secret: - $ openssl rand -hex 10 - - - Edit the /etc/ceilometer/ceilometer.conf file - and complete the following actions: - - - In the [publisher] section, configure - the telemetry secret: - [publisher] -... -telemetry_secret = TELEMETRY_SECRET - Replace TELEMETRY_SECRET with the - telemetry secret that you generated in a previous step. - - - In the [service_credentials] - section, configure service credentials: - [service_credentials] -... -os_auth_url = http://controller:5000/v2.0 -os_username = ceilometer -os_tenant_name = service -os_password = CEILOMETER_PASS - Replace CEILOMETER_PASS with - the password you chose for the ceilometer - user in the Identity service. - - - - - - To finalize installation - - Restart the Telemetry services: - # service ceilometer-agent-central restart -# service ceilometer-agent-notification restart -# service ceilometer-api restart -# service ceilometer-collector restart -# service ceilometer-alarm-evaluator restart -# service ceilometer-alarm-notifier restart - - - Start the Telemetry services and configure them to start when the - system boots: - # systemctl enable openstack-ceilometer-api.service openstack-ceilometer-agent-notification.service \ -openstack-ceilometer-agent-central.service openstack-ceilometer-collector.service \ -openstack-ceilometer-alarm-evaluator.service openstack-ceilometer-alarm-notifier.service -# systemctl start openstack-ceilometer-api.service openstack-ceilometer-agent-notification.service \ -openstack-ceilometer-agent-central.service openstack-ceilometer-collector.service \ -openstack-ceilometer-alarm-evaluator.service openstack-ceilometer-alarm-notifier.service - - - Start the Telemetry services and configure them to start when the - system boots: - # systemctl enable openstack-ceilometer-api.service openstack-ceilometer-notification.service \ -openstack-ceilometer-central.service openstack-ceilometer-collector.service \ -openstack-ceilometer-alarm-evaluator.service openstack-ceilometer-alarm-notifier.service -# systemctl start openstack-ceilometer-api.service openstack-ceilometer-notification.service \ -openstack-ceilometer-central.service openstack-ceilometer-collector.service \ -openstack-ceilometer-alarm-evaluator.service openstack-ceilometer-alarm-notifier.service - - -
    diff --git a/doc/install-guide/section_ceilometer-glance.xml b/doc/install-guide/section_ceilometer-glance.xml deleted file mode 100644 index 1aaaf1d0f0..0000000000 --- a/doc/install-guide/section_ceilometer-glance.xml +++ /dev/null @@ -1,36 +0,0 @@ - -
    - Configure the Image service - To retrieve image-oriented events and samples, configure - the Image service to send notifications to the message bus. - Perform these steps on the controller node. - - Edit the /etc/glance/glance-api.conf - and /etc/glance/glance-registry.conf files and - complete the following actions: - - In the [DEFAULT] section, configure - notifications and RabbitMQ message broker access: - [DEFAULT] -... -notification_driver = messagingv2 -rpc_backend = rabbit -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - Restart the Image service: - # service glance-registry restart -# service glance-api restart - # systemctl restart openstack-glance-api.service openstack-glance-registry.service - - -
    diff --git a/doc/install-guide/section_ceilometer-nova.xml b/doc/install-guide/section_ceilometer-nova.xml deleted file mode 100644 index 077e87de65..0000000000 --- a/doc/install-guide/section_ceilometer-nova.xml +++ /dev/null @@ -1,134 +0,0 @@ - -
    - - Configure the Compute service - Telemetry uses a combination of notifications and an agent to - collect Compute meters. Perform these steps on each compute node. - - To install and configure the agent - - Install the packages: - # apt-get install ceilometer-agent-compute - # yum install openstack-ceilometer-compute python-ceilometerclient python-pecan - # zypper install openstack-ceilometer-agent-compute - - - Edit the /etc/ceilometer/ceilometer.conf - file and complete the following actions: - - - In the [publisher] section, configure the - telemetry secret: - [publisher] -... -telemetry_secret = TELEMETRY_SECRET - Replace TELEMETRY_SECRET with - the telemetry secret you chose for the Telemetry module. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - In the [keystone_authtoken] section, - configure Identity service access: - [keystone_authtoken] -... -auth_uri = http://controller:5000/v2.0 -identity_uri = http://controller:35357 -admin_tenant_name = service -admin_user = ceilometer -admin_password = CEILOMETER_PASS - Replace CEILOMETER_PASS with the - password you chose for the Telemetry module database. - - Comment out any auth_host, - auth_port, and - auth_protocol options because the - identity_uri option replaces them. - - - - In the [service_credentials] section, - configure service credentials: - [service_credentials] -... -os_auth_url = http://controller:5000/v2.0 -os_username = ceilometer -os_tenant_name = service -os_password = CEILOMETER_PASS -os_endpoint_type = internalURL -os_region_name = RegionOne - Replace CEILOMETER_PASS with the - password you chose for the ceilometer user in - the Identity service. - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - - To configure notifications - Configure the Compute service to send notifications to the - message bus. - - Edit the /etc/nova/nova.conf file and - configure notifications in the [DEFAULT] - section: - [DEFAULT] -... -instance_usage_audit = True -instance_usage_audit_period = hour -notify_on_state_change = vm_and_task_state -notification_driver = messagingv2 - - - - To finalize installation - - Restart the agent: - # service ceilometer-agent-compute restart - - - Start the Telemetry agent and configure it to start when the - system boots: - # systemctl enable openstack-ceilometer-agent-compute.service -# systemctl start openstack-ceilometer-agent-compute.service - - - Start the Telemetry agent and configure it to start when the - system boots: - # systemctl enable openstack-ceilometer-compute.service -# systemctl start openstack-ceilometer-compute.service - - - Restart the Compute service: - # service nova-compute restart - # systemctl restart openstack-nova-compute.service - - -
    diff --git a/doc/install-guide/section_ceilometer-swift.xml b/doc/install-guide/section_ceilometer-swift.xml deleted file mode 100644 index 8793a035e8..0000000000 --- a/doc/install-guide/section_ceilometer-swift.xml +++ /dev/null @@ -1,99 +0,0 @@ - -
    - Configure the Object Storage service - To retrieve storage-oriented events and samples, configure the - Object Storage service to send notifications to the message bus. - - To configure prerequisites - The Telemetry service requires access to the Object Storage - service using the ResellerAdmin role. Perform - these steps on the controller node. - - Source the admin credentials to gain - access to admin-only CLI commands. - $ source admin-openrc.sh - - - Create the ResellerAdmin role: - $ openstack role create ResellerAdmin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | 462fa46c13fd4798a95a3bfbe27b5e54 | -| name | ResellerAdmin | -+-------+----------------------------------+ - - - Add the ResellerAdmin role to the - service tenant and ceilometer - user: - $ openstack role add --project service --user ceilometer ResellerAdmin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | 462fa46c13fd4798a95a3bfbe27b5e54 | -| name | ResellerAdmin | -+-------+----------------------------------+ - - - - To configure notifications - Perform these steps on the controller and any other nodes that - run the Object Storage proxy service. - - Edit the /etc/swift/proxy-server.conf file - and complete the following actions: - - - In the [filter:keystoneauth] section, - add the ResellerAdmin role: - [filter:keystoneauth] -... -operator_roles = admin,user,ResellerAdmin - - - In the [pipeline:main] section, add - ceilometer: - [pipeline:main] -... -pipeline = authtoken cache healthcheck keystoneauth proxy-logging ceilometer proxy-server - - - In the [filter:ceilometer] section, configure - notifications: - [filter:ceilometer] -... -paste.filter_factory = ceilometermiddleware.swift:filter_factory -control_exchange = swift -url = rabbit://openstack:RABBIT_PASS@controller:5672/ -driver = messagingv2 -topic = notifications -log_level = WARN - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - - - Add the swift system user to the - ceilometer system group to permit access to the - Telemetry configuration files by the Object Storage service: - # usermod -a -G ceilometer swift - - - - Install the ceilometermiddleware package: - # pip install ceilometermiddleware - - - Restart the Object Storage proxy service: - # service swift-proxy restart - # systemctl restart openstack-swift-proxy.service - - -
    diff --git a/doc/install-guide/section_ceilometer-verify.xml b/doc/install-guide/section_ceilometer-verify.xml deleted file mode 100644 index 0bec8a6fee..0000000000 --- a/doc/install-guide/section_ceilometer-verify.xml +++ /dev/null @@ -1,67 +0,0 @@ - -
    - Verify the Telemetry installation - This section describes how to verify operation of the Telemetry - module. - - - Perform these steps on the controller node. - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - List available meters: - $ ceilometer meter-list -+--------------+-------+-------+--------------------------------------+---------+----------------------------------+ -| Name | Type | Unit | Resource ID | User ID | Project ID | -+--------------+-------+-------+--------------------------------------+---------+----------------------------------+ -| image | gauge | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -| image.size | gauge | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -| image.update | delta | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -| image.upload | delta | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -+--------------+-------+-------+--------------------------------------+---------+----------------------------------+ - - - Download an image from the Image service: - -$ IMAGE_ID=$(glance image-list | grep 'cirros-0.3.4-x86_64' | awk '{ print $2 }') -$ glance image-download $IMAGE_ID > /tmp/cirros.img - - - List available meters again to validate detection of the image - download: - $ ceilometer meter-list -+----------------+-------+-------+--------------------------------------+---------+----------------------------------+ -| Name | Type | Unit | Resource ID | User ID | Project ID | -+----------------+-------+-------+--------------------------------------+---------+----------------------------------+ -| image | gauge | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -| image.download | delta | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -| image.serve | delta | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -| image.size | gauge | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -| image.update | delta | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -| image.upload | delta | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b | -+----------------+-------+-------+--------------------------------------+---------+----------------------------------+ - - - Retrieve usage statistics from the image.download - meter: - $ ceilometer statistics -m image.download -p 60 -+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+ -| Period | Period Start | Period End | Max | Min | Avg | Sum | Count | Duration | Duration Start | Duration End | -+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+ -| 60 | 2015-04-21T12:21:45 | 2015-04-21T12:22:45 | 13200896.0 | 13200896.0 | 13200896.0 | 13200896.0 | 1 | 0.0 | 2015-04-21T12:22:12.983000 | 2015-04-21T12:22:12.983000 | -+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+ - - - Remove the previously downloaded image file /tmp/cirros.img: - $ rm /tmp/cirros.img - - -
    diff --git a/doc/install-guide/section_cinder-controller-node.xml b/doc/install-guide/section_cinder-controller-node.xml deleted file mode 100644 index d8942fc0f0..0000000000 --- a/doc/install-guide/section_cinder-controller-node.xml +++ /dev/null @@ -1,286 +0,0 @@ - -
    - Install and configure controller node - This section describes how to install and configure the Block - Storage service, code-named cinder, on the controller node. This - service requires at least one additional storage node that provides - volumes to instances. - - To configure prerequisites - Before you install and configure the Block Storage service, you - must create a database, service credentials, and API endpoint. - - To create the database, complete these steps: - - - Use the database access client to connect to the database - server as the root user: - $ mysql -u root -p - - - Create the cinder database: - CREATE DATABASE cinder; - - - Grant proper access to the cinder - database: - GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \ - IDENTIFIED BY 'CINDER_DBPASS'; -GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \ - IDENTIFIED BY 'CINDER_DBPASS'; - Replace CINDER_DBPASS with - a suitable password. - - - Exit the database access client. - - - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - To create the service credentials, complete these steps: - - - Create a cinder user: - $ openstack user create --password-prompt cinder -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | 881ab2de4f7941e79504a759a83308be | -| name | cinder | -| username | cinder | -+----------+----------------------------------+ - - - Add the admin role to the - cinder user: - $ openstack role add --project service --user cinder admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the cinder service entities: - $ openstack service create --name cinder \ - --description "OpenStack Block Storage" volume -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | OpenStack Block Storage | -| enabled | True | -| id | 1e494c3e22a24baaafcaf777d4d467eb | -| name | cinder | -| type | volume | -+-------------+----------------------------------+ - $ openstack service create --name cinderv2 \ - --description "OpenStack Block Storage" volumev2 -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | OpenStack Block Storage | -| enabled | True | -| id | 16e038e449c94b40868277f1d801edb5 | -| name | cinderv2 | -| type | volumev2 | -+-------------+----------------------------------+ - - The Block Storage service requires both the - volume and volumev2 - services. However, both services use the same API - endpoint that references the Block Storage version 2 API. - - - - - - Create the Block Storage service API endpoints: - $ openstack endpoint create \ - --publicurl http://controller:8776/v2/%\(tenant_id\)s \ - --internalurl http://controller:8776/v2/%\(tenant_id\)s \ - --adminurl http://controller:8776/v2/%\(tenant_id\)s \ - --region RegionOne \ - volume -+--------------+-----------------------------------------+ -| Field | Value | -+--------------+-----------------------------------------+ -| adminurl | http://controller:8776/v2/%(tenant_id)s | -| id | d1b7291a2d794e26963b322c7f2a55a4 | -| internalurl | http://controller:8776/v2/%(tenant_id)s | -| publicurl | http://controller:8776/v2/%(tenant_id)s | -| region | RegionOne | -| service_id | 1e494c3e22a24baaafcaf777d4d467eb | -| service_name | cinder | -| service_type | volume | -+--------------+-----------------------------------------+ - $ openstack endpoint create \ - --publicurl http://controller:8776/v2/%\(tenant_id\)s \ - --internalurl http://controller:8776/v2/%\(tenant_id\)s \ - --adminurl http://controller:8776/v2/%\(tenant_id\)s \ - --region RegionOne \ - volumev2 -+--------------+-----------------------------------------+ -| Field | Value | -+--------------+-----------------------------------------+ -| adminurl | http://controller:8776/v2/%(tenant_id)s | -| id | 097b4a6fc8ba44b4b10d4822d2d9e076 | -| internalurl | http://controller:8776/v2/%(tenant_id)s | -| publicurl | http://controller:8776/v2/%(tenant_id)s | -| region | RegionOne | -| service_id | 16e038e449c94b40868277f1d801edb5 | -| service_name | cinderv2 | -| service_type | volumev2 | -+--------------+-----------------------------------------+ - - - - To install and configure Block Storage controller components - - Install the packages: - # apt-get install cinder-api cinder-scheduler python-cinderclient - # yum install openstack-cinder python-cinderclient python-oslo-db - # zypper install openstack-cinder-api openstack-cinder-scheduler python-cinderclient - - - - Copy the /usr/share/cinder/cinder-dist.conf file - to /etc/cinder/cinder.conf. - # cp /usr/share/cinder/cinder-dist.conf /etc/cinder/cinder.conf -# chown -R cinder:cinder /etc/cinder/cinder.conf - Edit the /etc/cinder/cinder.conf file and - complete the following actions: - - - In the [database] section, configure - database access: - [database] -... -connection = mysql://cinder:CINDER_DBPASS@controller/cinder - Replace CINDER_DBPASS with the - password you chose for the Block Storage database. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - In the [DEFAULT] and - [keystone_authtoken] sections, - configure Identity service access: - [DEFAULT] -... -auth_strategy = keystone - -[keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = cinder -password = CINDER_PASS - Replace CINDER_PASS with the password - you chose for the cinder user in the Identity - service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [DEFAULT] section, configure the - my_ip option to use the management interface IP - address of the controller node: - [DEFAULT] -... -my_ip = 10.0.0.11 - - - In the [oslo_concurrency] section, - configure the lock path: - [oslo_concurrency] -... -lock_path = /var/lock/cinder - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - Populate the Block Storage database: - # su -s /bin/sh -c "cinder-manage db sync" cinder - - - - To install and configure Block Storage controller components - - Install the packages: - # apt-get install cinder-api cinder-scheduler python-cinderclient - - - Respond to the prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message broker - credentials. - - - - To finalize installation - - Restart the Block Storage services: - # service cinder-scheduler restart -# service cinder-api restart - - - Start the Block Storage services and configure them to start when - the system boots: - # systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service -# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service - - - By default, the Ubuntu packages create an SQLite database. - Because this configuration uses a SQL database server, you can - remove the SQLite database file: - # rm -f /var/lib/cinder/cinder.sqlite - - -
    diff --git a/doc/install-guide/section_cinder-storage-node.xml b/doc/install-guide/section_cinder-storage-node.xml deleted file mode 100644 index c8c333751a..0000000000 --- a/doc/install-guide/section_cinder-storage-node.xml +++ /dev/null @@ -1,317 +0,0 @@ - -
    - - Install and configure a storage node - This section describes how to install and configure storage nodes - for the Block Storage service. For simplicity, this configuration - references one storage node with an empty local block storage device - /dev/sdb that contains a suitable partition table with - one partition /dev/sdb1 occupying the entire device. - The service provisions logical volumes on this device using the - LVM driver and provides them to instances via - iSCSI transport. You can follow these instructions with - minor modifications to horizontally scale your environment with - additional storage nodes. - - To configure prerequisites - You must configure the storage node before you install and - configure the volume service on it. Similar to the controller node, - the storage node contains one network interface on the - management network. The storage node also - needs an empty block storage device of suitable size for your - environment. For more information, see - . - - Configure the management interface: - IP address: 10.0.0.41 - Network mask: 255.255.255.0 (or /24) - Default gateway: 10.0.0.1 - - - Set the hostname of the node to - block1. - - - Copy the contents of the /etc/hosts file from - the controller node to the storage node and add the following - to it: - # block1 -10.0.0.41 block1 - Also add this content to the /etc/hosts file - on all other nodes in your environment. - - - Install and configure - NTP - using the instructions in - . - - - If you intend to use non-raw image types such as QCOW2 and VMDK, - install the QEMU support package: - # apt-get install qemu - # yum install qemu - # zypper install qemu - - - Install the LVM packages: - # apt-get install lvm2 - # yum install lvm2 - - Some distributions include LVM by default. - - - - Start the LVM metadata service and configure it to start when the - system boots: - # systemctl enable lvm2-lvmetad.service -# systemctl start lvm2-lvmetad.service - - - Create the LVM physical volume /dev/sdb1: - # pvcreate /dev/sdb1 - Physical volume "/dev/sdb1" successfully created - - If your system uses a different device name, adjust these - steps accordingly. - - - - Create the LVM volume group - cinder-volumes: - # vgcreate cinder-volumes /dev/sdb1 - Volume group "cinder-volumes" successfully created - The Block Storage service creates logical volumes in this - volume group. - - - Only instances can access Block Storage volumes. However, the - underlying operating system manages the devices associated with - the volumes. By default, the LVM volume scanning tool scans the - /dev directory for block storage devices that - contain volumes. If projects use LVM on their volumes, the scanning - tool detects these volumes and attempts to cache them which can cause - a variety of problems with both the underlying operating system - and project volumes. You must reconfigure LVM to scan only the devices - that contain the cinder-volume volume group. Edit - the /etc/lvm/lvm.conf file and complete the - following actions: - - - In the devices section, add a filter - that accepts the /dev/sdb device and rejects - all other devices: - devices { -... -filter = [ "a/sdb/", "r/.*/"] - Each item in the filter array begins with a - for accept or r for - reject and includes a regular expression - for the device name. The array must end with - r/.*/ to reject any remaining - devices. You can use the vgs -vvvv - command to test filters. - - If your storage nodes use LVM on the operating system disk, - you must also add the associated device to the filter. For - example, if the /dev/sda device contains - the operating system: - filter = [ "a/sda/", "a/sdb/", "r/.*/"] - Similarly, if your compute nodes use LVM on the operating - system disk, you must also modify the filter in the - /etc/lvm/lvm.conf file on those nodes to - include only the operating system disk. For example, if the - /dev/sda device contains the operating - system: - filter = [ "a/sda/", "r/.*/"] - - - - - - - Install and configure Block Storage volume components - - Install the packages: - # apt-get install cinder-volume python-mysqldb - - # yum install openstack-cinder targetcli python-oslo-db python-oslo-log MySQL-python - # zypper install openstack-cinder-volume tgt python-mysql - - - Edit the /etc/cinder/cinder.conf file - and complete the following actions: - - - In the [database] section, configure - database access: - [database] -... -connection = mysql://cinder:CINDER_DBPASS@controller/cinder - Replace CINDER_DBPASS with - the password you chose for the Block Storage database. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - In the [DEFAULT] and - [keystone_authtoken] sections, - configure Identity service access: - [DEFAULT] -... -auth_strategy = keystone - -[keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = cinder -password = CINDER_PASS - Replace CINDER_PASS with the password - you chose for the cinder user in the Identity - service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [DEFAULT] section, configure the - my_ip option: - [DEFAULT] -... -my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS - Replace - MANAGEMENT_INTERFACE_IP_ADDRESS with - the IP address of the management network interface on your - storage node, typically 10.0.0.41 for the first node in the - example - architecture. - - - In the [lvm] section, configure the LVM - back end with the LVM driver, cinder-volumes - volume group, iSCSI protocol, and appropriate iSCSI - service: - [lvm] -... -volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver -volume_group = cinder-volumes -iscsi_protocol = iscsi -iscsi_helper = tgtadm - [lvm] -... -volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver -volume_group = cinder-volumes -iscsi_protocol = iscsi -iscsi_helper = lioadm - - - In the [DEFAULT] section, enable the LVM - back end: - [DEFAULT] -... -enabled_backends = lvm - - Back-end names are arbitrary. As an example, this guide - uses the name of the driver as the name of the back end. - - - - In the [DEFAULT] section, configure the - location of the Image service: - [DEFAULT] -... -glance_host = controller - - - In the [oslo_concurrency] section, - configure the lock path: - [oslo_concurrency] -... -lock_path = /var/lock/cinder - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - - Install and configure Block Storage volume components - - Install the packages: - # apt-get install cinder-volume python-mysqldb - - - Respond to the prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message broker - credentials.. - - - Respond to prompts for the volume group to associate with the - Block Storage service. The script scans for volume groups and - attempts to use the first one. If your system only contains the - cinder-volumes volume group, the script should - automatically choose it. - - - - To finalize installation - - Restart the Block Storage volume service including its - dependencies: - # service tgt restart -# service cinder-volume restart - - - Start the Block Storage volume service including its dependencies - and configure them to start when the system boots: - # systemctl enable openstack-cinder-volume.service target.service -# systemctl start openstack-cinder-volume.service target.service - # systemctl enable openstack-cinder-volume.service tgtd.service -# systemctl start openstack-cinder-volume.service tgtd.service - - - By default, the Ubuntu packages create an SQLite database. - Because this configuration uses a SQL database server, remove - the SQLite database file: - # rm -f /var/lib/cinder/cinder.sqlite - - -
    diff --git a/doc/install-guide/section_cinder-verify.xml b/doc/install-guide/section_cinder-verify.xml deleted file mode 100644 index ed771ea2fa..0000000000 --- a/doc/install-guide/section_cinder-verify.xml +++ /dev/null @@ -1,91 +0,0 @@ - -
    - Verify operation - This section describes how to verify operation of the Block Storage - service by creating a volume. - For more information about how to manage volumes, see the OpenStack User Guide. - - Perform these commands on the controller node. - - - - In each client environment script, configure the Block Storage - client to use API version 2.0: - $ echo "export OS_VOLUME_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - List service components to verify successful launch of each - process: - $ cinder service-list -+------------------+------------+------+---------+-------+----------------------------+-----------------+ -| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | -+------------------+------------+------+---------+-------+----------------------------+-----------------+ -| cinder-scheduler | controller | nova | enabled | up | 2014-10-18T01:30:54.000000 | None | -| cinder-volume | block1@lvm | nova | enabled | up | 2014-10-18T01:30:57.000000 | None | -+------------------+------------+------+---------+-------+----------------------------+-----------------+ - - - Source the demo credentials to perform - the following steps as a non-administrative project: - $ source demo-openrc.sh - - - Create a 1 GB volume: - $ cinder create --name demo-volume1 1 -+---------------------------------------+--------------------------------------+ -| Property | Value | -+---------------------------------------+--------------------------------------+ -| attachments | [] | -| availability_zone | nova | -| bootable | false | -| consistencygroup_id | None | -| created_at | 2015-04-21T23:46:08.000000 | -| description | None | -| encrypted | False | -| id | 6c7a3d28-e1ef-42a0-b1f7-8d6ce9218412 | -| metadata | {} | -| multiattach | False | -| name | demo-volume1 | -| os-vol-tenant-attr:tenant_id | ab8ea576c0574b6092bb99150449b2d3 | -| os-volume-replication:driver_data | None | -| os-volume-replication:extended_status | None | -| replication_status | disabled | -| size | 1 | -| snapshot_id | None | -| source_volid | None | -| status | creating | -| user_id | 3a81e6c8103b46709ef8d141308d4c72 | -| volume_type | None | -+---------------------------------------+--------------------------------------+ - - - Verify creation and availability of the volume: - $ cinder list -+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ -| ID | Status | Name | Size | Volume Type | Bootable | Attached to | -+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ -| 6c7a3d28-e1ef-42a0-b1f7-8d6ce9218412 | available | demo-volume1 | 1 | None | false | | -+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ - If the status does not indicate available, - check the logs in the /var/log/cinder directory - on the controller and volume nodes for more information. - - The - launch an instance - chapter includes instructions for attaching this volume to an - instance. - - - -
    diff --git a/doc/install-guide/section_dashboard-install.xml b/doc/install-guide/section_dashboard-install.xml deleted file mode 100644 index 1c8892e5b8..0000000000 --- a/doc/install-guide/section_dashboard-install.xml +++ /dev/null @@ -1,142 +0,0 @@ - -
    - - Install and configure - This section describes how to install and configure the dashboard - on the controller node. - The dashboard relies on functional core services including - Identity, Image service, Compute, and either Networking (neutron) - or legacy networking (nova-network). Environments with - stand-alone services such as Object Storage cannot use the - dashboard. For more information, see the - developer documentation. - This section assumes proper installation, configuration, and - operation of the Identity service using the Apache HTTP server and - Memcached as described in . - - To install the dashboard components - - Install the packages: - # apt-get install openstack-dashboard - # yum install openstack-dashboard httpd mod_wsgi memcached python-memcached - # zypper install openstack-dashboard apache2-mod_wsgi memcached python-python-memcached - - Ubuntu installs the - openstack-dashboard-ubuntu-theme package - as a dependency. Some users reported issues with this theme in - previous releases. If you encounter issues, remove this package - to restore the original OpenStack theme. - - - - - To install the dashboard components - - Install the packages: - # apt-get install openstack-dashboard-apache - - - Respond to prompts for web server configuration. - - The automatic configuration process generates a self-signed - SSL certificate. Consider obtaining an official certificate for - production environments. - - - - - To configure the dashboard - - Configure the web server: - # cp /etc/apache2/conf.d/openstack-dashboard.conf.sample \ - /etc/apache2/conf.d/openstack-dashboard.conf -# a2enmod rewrite;a2enmod ssl;a2enmod wsgi - - - Edit the - /etc/openstack-dashboard/local_settings.py - file and complete the following actions: - Edit the - /etc/openstack-dashboard/local_settings - file and complete the following actions: - Edit the - /srv/www/openstack-dashboard/openstack_dashboard/local/local_settings.py - file and complete the following actions: - - - Configure the dashboard to use OpenStack services on the - controller node: - OPENSTACK_HOST = "controller" - - - Allow all hosts to access the dashboard: - ALLOWED_HOSTS = '*' - - - Configure the memcached session - storage service: - CACHES = { - 'default': { - 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', - 'LOCATION': '127.0.0.1:11211', - } -} - - Comment out any other session storage configuration. - - - By default, SLES and openSUSE use a SQL database for session - storage. For simplicity, we recommend changing the configuration - to use memcached for session - storage. - - - - Configure user as the default role for - users that you create via the dashboard: - OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user" - - - Optionally, configure the time zone: - TIME_ZONE = "TIME_ZONE" - Replace TIME_ZONE with an - appropriate time zone identifier. For more information, see the - list of time zones. - - - - - - To finalize installation - - On RHEL and CentOS, configure SELinux to permit the web server - to connect to OpenStack services: - # setsebool -P httpd_can_network_connect on - - - Due to a packaging bug, the dashboard CSS fails to load properly. - Run the following command to resolve this issue: - # chown -R apache:apache /usr/share/openstack-dashboard/static - For more information, see the - bug report. - - - Reload the web server configuration: - # service apache2 reload - - - Start the web server and session storage service and configure - them to start when the system boots: - # systemctl enable httpd.service memcached.service -# systemctl start httpd.service memcached.service - # systemctl enable apache2.service memcached.service -# systemctl start apache2.service memcached.service - - -
    diff --git a/doc/install-guide/section_dashboard-verify.xml b/doc/install-guide/section_dashboard-verify.xml deleted file mode 100644 index 6214e12538..0000000000 --- a/doc/install-guide/section_dashboard-verify.xml +++ /dev/null @@ -1,24 +0,0 @@ - -
    - - Verify operation - This section describes how to verify operation of the - dashboard. - - - Access the dashboard using a web browser: - http://controller/horizon - https://controller/ - http://controller/dashboard - http://controller. - - - Authenticate using admin or - demo user credentials. - - -
    diff --git a/doc/install-guide/section_debconf-api-endpoints.xml b/doc/install-guide/section_debconf-api-endpoints.xml deleted file mode 100644 index 805495b365..0000000000 --- a/doc/install-guide/section_debconf-api-endpoints.xml +++ /dev/null @@ -1,103 +0,0 @@ - -
    - Register API endpoints - All Debian packages for API services, except the - heat-api package, register the service in the - Identity Service catalog. This feature is helpful because API - endpoints are difficult to remember. - - The heat-common package and not the - heat-api package configures the - Orchestration service. - - When you install a package for an API service, you are - prompted to register that service. However, after you install or - upgrade the package for an API service, Debian immediately removes - your response to this prompt from the debconf - database. Consequently, you are prompted to re-register the - service with the Identity Service. If you already registered the - API service, respond no when you - upgrade. - - - - - - - - This screen registers packages in the Identity Service - catalog: - - - - - - - - You are prompted for the Identity Service - admin_token value. The Identity Service uses - this value to register the API service. When you set up the - keystone package, this value is configured - automatically. - - - - - - - - This screen configures the IP addresses for the service. The - configuration script automatically detects the IP address used by - the interface that is connected to the default route - (/sbin/route and /sbin/ip). - Unless you have a unique set up for your network, press - ENTER. - - - - - - - - This screen configures the region name for the service. For - example, us-east-coast or - europe-paris. - - - - - - - - The Debian package post installation scripts will then perform the - below commands for you: - PKG_SERVICE_ID=$(pkgos_get_id keystone --os-token ${AUTH_TOKEN} \ - --os-endpoint http://${KEYSTONE_ENDPOINT_IP}:35357/v2.0/ service-create \ - --name ${SERVICE_NAME} --type ${SERVICE_TYPE} --description "${SERVICE_DESC}") -keystone --os-token ${AUTH_TOKEN} \ - --os-endpoint http://${KEYSTONE_ENDPOINT_IP}:35357/v2.0/ - endpoint-create \ - --region "${REGION_NAME}" --service_id ${PKG_SERVICE_ID} \ - --publicurl http://${PKG_ENDPOINT_IP}:${SERVICE_PORT}${SERVICE_URL} \ - --internalurl http://${PKG_ENDPOINT_IP}:${SERVICE_PORT}${SERVICE_URL} \ - --adminurl http://${PKG_ENDPOINT_IP}:${SERVICE_PORT}${SERVICE_URL}) - The values of AUTH_TOKEN, KEYSTONE_ENDPOINT_IP, - PKG_ENDPOINT_IP and REGION_NAME depend on the - answer you will provide to the debconf prompts. But the values of SERVICE_NAME, - SERVICE_TYPE, SERVICE_DESC and SERVICE_URL - are already pre-wired in each package, so you don't have to remember them. -
    diff --git a/doc/install-guide/section_debconf-concepts.xml b/doc/install-guide/section_debconf-concepts.xml deleted file mode 100644 index 2cb04b927e..0000000000 --- a/doc/install-guide/section_debconf-concepts.xml +++ /dev/null @@ -1,98 +0,0 @@ - -
    - - debconf concepts - This chapter explains how to use the Debian debconf and dbconfig-common packages to - configure OpenStack services. These packages enable users to - perform configuration tasks. When users install OpenStack - packages, debconf prompts the user for - responses, which seed the contents of configuration files - associated with that package. After package installation, users - can update the configuration of a package by using the - dpkg-reconfigure program. - If you are familiar with these packages and pre-seeding, you - can proceed to . -
    - The Debian packages - The rules described here are from the Debian Policy Manual. If any - rule described in this chapter is not respected, you have found - a serious bug that must be fixed. - When you install or upgrade a Debian package, all - configuration file values are preserved. Using the debconf database as a registry is - considered a bug in Debian. If you edit something in any - OpenStack configuration file, the debconf package reads that value when it - prepares to prompt the user. For example, to change the log in - name for the RabbitMQ messaging queue for a service, you can - edit its value in the corresponding configuration file. - To opt out of using the debconf package, run the - dpkg-reconfigure command and select - non-interactive mode: - # dpkg-reconfigure -plow debconf - Then, debconf does - not prompt you. - Another way to disable the debconf package is to prefix the - apt command with - DEBIAN_FRONTEND=noninteractive, as - follows: - # DEBIAN_FRONTEND=noninteractive apt-get install nova-api - If you configure a package with debconf incorrectly, you can re-configure it, as - follows: - # dpkg-reconfigure PACKAGE-NAME - This calls the post-installation script for the - PACKAGE-NAME package after the user - responds to all prompts. If you cannot install a Debian package - in a non-interactive way, you have found a release-critical bug - in Debian. Report it to the Debian bug tracking system. - Generally, the -common packages install the configuration - files. For example, the glance-common package - installs the glance-api.conf and - glance-registry.conf files. So, for the - Image service, you must re-configure the - glance-common package. The same applies for - cinder-common, - nova-common, and - heat-common packages. - In debconf, the - higher the priority for a screen, the - greater the chance that the user sees that screen. If a - debconf screen has - medium priority and you configure the - Debian system to show only critical prompts, - which is the default in Debian, the user does not see that - debconf screen. - Instead, the default for the related package is used. In the - Debian OpenStack packages, a number of debconf screens are set with - medium priority. Consequently, if you want - to respond to all debconf screens from the Debian OpenStack - packages, you must run the following command and select the - medium priority before you install any - packages: - # dpkg-reconfigure debconf - - The packages do not require pre-depends. If dbconfig-common is already - installed on the system, the user sees all prompts. However, - you cannot define the order in which the debconf screens appear. The - user must make sense of it even if the prompts appear in an - illogical order. - -
    - -
    diff --git a/doc/install-guide/section_debconf-dbconfig-common.xml b/doc/install-guide/section_debconf-dbconfig-common.xml deleted file mode 100644 index 2876e7f38d..0000000000 --- a/doc/install-guide/section_debconf-dbconfig-common.xml +++ /dev/null @@ -1,177 +0,0 @@ - -
    - Configure the database with dbconfig-common - Many of the OpenStack services need to be configured - to access a database. These are configured through a DSN (Database - Source Name) directive as follows: - [database] -connection = mysql://keystone:0dec658e3f14a7d@localhost/keystonedb - This connection directive will be handled by - the dbconfig-common package, which provides a - standard Debian interface. It enables you to configure Debian - database parameters. It includes localized prompts for many - languages and it supports the following database backends: - SQLite, MySQL, and PostgreSQL. - By default, the dbconfig-common package - configures the OpenStack services to use SQLite. So if you use - debconf in non-interactive mode and without - pre-seeding, the OpenStack services that you install will use - SQLite. - By default, dbconfig-common does not - provide access to database servers over a network. If you want the - dbconfig-common package to prompt for remote - database servers that are accessed over a network and not through - a UNIX socket file, reconfigure it, as follows: - # apt-get install dbconfig-common && dpkg-reconfigure dbconfig-common - These screens appear when you re-configure the - dbconfig-common package: - - - - - - - - - - - - - - - Unlike other debconf prompts, you cannot - pre-seed the responses for the dbconfig-common - prompts by using debconf-set-selections. - Instead, you must create a file in - /etc/dbconfig-common. For example, you - might create a keystone configuration file for - dbconfig-common that is located in - /etc/dbconfig-common/keystone.conf, as - follows: - dbc_install='true' -dbc_upgrade='true' -dbc_remove='' -dbc_dbtype='mysql' -dbc_dbuser='keystone' -dbc_dbpass='PASSWORD' -dbc_dbserver='' -dbc_dbport='' -dbc_dbname='keystonedb' -dbc_dbadmin='root' -dbc_basepath='' -dbc_ssl='' -dbc_authmethod_admin='' -dbc_authmethod_user='' - After you create this file, run this command: - # apt-get install keystone - The Identity Service is installed with MySQL as the database - back end, keystonedb as database name, and the - localhost socket file. The corresponding DNS will then be: - [database] -connection = mysql://keystone:PASSWORD@localhost/keystonedb - The dbconfig-common package will configure - MySQL for these access rights, and create the database for you. - Since OpenStack 2014.1.1, all OpenStack packages in Debian are performing - the following MySQL query after database creation (if you decide - to use MySQL as a back-end): - ALTER DATABASE keystone CHARACTER SET utf8 COLLATE utf8_unicode_ci - So, if using Debian, you wont need to care about database - creation, access rights and character sets. All that is handled - for you by the packages. - As an example, here are screenshots from the - cinder-common package: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - By default in Debian, you can access the MySQL server from either - localhost through the socket file or 127.0.0.1. To access it over the - network, you must edit the /etc/mysql/my.cnf file, - and the mysql.user table. To do so, Debian provides - a helper script in the openstack-deploy package. - To use it, install the package and run: - # /usr/share/openstack-deploy/mysql-remote-root - Alternatively, if you do not want to install this package, run - this script to enable remote root access: - #!/bin/sh - -set -e - -SQL="mysql --defaults-file=/etc/mysql/debian.cnf -Dmysql -e" - -ROOT_PASS=`${SQL} "SELECT Password FROM user WHERE User='root' LIMIT 1;" \ - | tail -n 1` -${SQL} "REPLACE INTO user SET host='%', user='root',\ - password='${ROOT_PASS}', Select_priv='Y', Insert_priv='Y',\ - Update_priv='Y', Delete_priv='Y', Create_priv='Y', Drop_priv='Y',\ - Reload_priv='Y', Shutdown_priv='Y', Process_priv='Y', File_priv='Y',\ - Grant_priv='Y', References_priv='Y', Index_priv='Y', Alter_priv='Y',\ - Super_priv='Y', Show_db_priv='Y', Create_tmp_table_priv='Y',\ - Lock_tables_priv='Y', Execute_priv='Y', Repl_slave_priv='Y',\ - Repl_client_priv='Y', Create_view_priv='Y', Show_view_priv='Y',\ - Create_routine_priv='Y', Alter_routine_priv='Y', Create_user_priv='Y',\ - Event_priv='Y', Trigger_priv='Y' " -${SQL} "FLUSH PRIVILEGES" -sed -i 's|^bind-address[ \t]*=.*|bind-address = 0.0.0.0|' /etc/mysql/my.cnf -/etc/init.d/mysql restart - You must enable remote access before you install OpenStack - services on multiple nodes. -
    diff --git a/doc/install-guide/section_debconf-keystone_authtoken.xml b/doc/install-guide/section_debconf-keystone_authtoken.xml deleted file mode 100644 index 2a43033036..0000000000 --- a/doc/install-guide/section_debconf-keystone_authtoken.xml +++ /dev/null @@ -1,66 +0,0 @@ - -
    - Services and the [keystone_authtoken] - Because most OpenStack services must access the Identity - Service, you must configure the IP address of the - keystone server to be able to access it. You must - also configure the admin_tenant_name, - admin_user, and admin_password options - for each service to work. - Generally, this section looks like this: - [keystone_authtoken] -auth_uri = http://controller:5000/v2.0 -identity_uri = http://controller:35357 -admin_tenant_name = %SERVICE_TENANT_NAME% -admin_user = %SERVICE_USER% -admin_password = %SERVICE_PASSWORD% - The debconf system helps users configure the - auth_uri, identity_uri, - admin_tenant_name, admin_user and - admin_password options. - The following screens show an example Image service - configuration: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This information is stored in the configuration file for each - service. For example: - /etc/ceilometer/ceilometer.conf -/etc/nova/api-paste.ini -/etc/glance/glance-api-paste.ini -/etc/glance/glance-registry.ini -/etc/cinder/cinder.conf -/etc/neutron/neutron.conf - The Debian OpenStack packages offer automation for this, so - OpenStack users do not have to manually edit the configuration - files. -
    diff --git a/doc/install-guide/section_debconf-preseeding.xml b/doc/install-guide/section_debconf-preseeding.xml deleted file mode 100644 index 3a85b3a826..0000000000 --- a/doc/install-guide/section_debconf-preseeding.xml +++ /dev/null @@ -1,28 +0,0 @@ - -
    - Pre-seed debconf prompts - You can pre-seed all debconf prompts. To pre-seed means - to store responses in the debconf database so - that debconf does not prompt the user for - responses. Pre-seeding enables a hands-free installation for - users. The package maintainer creates scripts that automatically - configure the services. - The following example shows how to pre-seed an automated MySQL - Server installation: - MYSQL_PASSWORD=MYSQL_PASSWORD -echo "mysql-server-5.5 mysql-server/root_password password ${MYSQL_PASSWORD} -mysql-server-5.5 mysql-server/root_password seen true -mysql-server-5.5 mysql-server/root_password_again password ${MYSQL_PASSWORD} -mysql-server-5.5 mysql-server/root_password_again seen true -" | debconf-set-selections -DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes mysql-server - The seen true option tells - debconf that a specified screen was already - seen by the user so do not show it again. This option is useful - for upgrades. -
    diff --git a/doc/install-guide/section_debconf-rabbitmq.xml b/doc/install-guide/section_debconf-rabbitmq.xml deleted file mode 100644 index dab4538053..0000000000 --- a/doc/install-guide/section_debconf-rabbitmq.xml +++ /dev/null @@ -1,48 +0,0 @@ - -
    - RabbitMQ credentials parameters - For every package that must connect to a Messaging Server, the - Debian package enables you to configure the IP address for that - server and the user name and password that is used to connect. The - following example shows configuration with the ceilometer-common package: - - - - - - - - - - - - - - - - - - - - - - These debconf screens appear in: ceilometer-common, cinder-common, glance-common, heat-common, neutron-common and nova-common. - This will configure the below directives (example from - nova.conf): - [DEFAULT] -rabbit_host=localhost -rabbit_userid=guest -rabbit_password=guest - The other directives concerning RabbitMQ will stay untouched. -
    diff --git a/doc/install-guide/section_glance-install.xml b/doc/install-guide/section_glance-install.xml deleted file mode 100644 index e4b770e9fd..0000000000 --- a/doc/install-guide/section_glance-install.xml +++ /dev/null @@ -1,321 +0,0 @@ - -
    - Install and configure - This section describes how to install and configure the Image service, - code-named glance, on the controller node. For simplicity, this - configuration stores images on the local file system. - - This section assumes proper installation, configuration, and - operation of the Identity service as described in - and as well as setup of the - admin-openrc.sh script as described in - . - - - To configure prerequisites - Before you install and configure the Image service, you must - create a database, service credentials, and API endpoint. - - To create the database, complete these steps: - - - Use the database access client to connect to the database - server as the root user: - $ mysql -u root -p - - - Create the glance database: - CREATE DATABASE glance; - - - Grant proper access to the glance - database: - GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \ - IDENTIFIED BY 'GLANCE_DBPASS'; -GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \ - IDENTIFIED BY 'GLANCE_DBPASS'; - Replace GLANCE_DBPASS with a suitable - password. - - - Exit the database access client. - - - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - To create the service credentials, complete these steps: - - - Create the glance user: - $ openstack user create --password-prompt glance -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | 1dc206e084334db2bee88363745da014 | -| name | glance | -| username | glance | -+----------+----------------------------------+ - - - Add the admin role to the - glance user and service - project: - $ openstack role add --project service --user glance admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the glance service entity: - $ openstack service create --name glance \ - --description "OpenStack Image service" image -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | OpenStack Image service | -| enabled | True | -| id | 178124d6081c441b80d79972614149c6 | -| name | glance | -| type | image | -+-------------+----------------------------------+ - - - - - Create the Image service API endpoint: - $ openstack endpoint create \ - --publicurl http://controller:9292 \ - --internalurl http://controller:9292 \ - --adminurl http://controller:9292 \ - --region RegionOne \ - image -+--------------+----------------------------------+ -| Field | Value | -+--------------+----------------------------------+ -| adminurl | http://controller:9292 | -| id | 805b1dbc90ab47479111102bc6423313 | -| internalurl | http://controller:9292 | -| publicurl | http://controller:9292 | -| region | RegionOne | -| service_id | 178124d6081c441b80d79972614149c6 | -| service_name | glance | -| service_type | image | -+--------------+----------------------------------+ - - - - To install and configure the Image service components - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Install the packages: - # apt-get install glance python-glanceclient - - # yum install openstack-glance python-glance python-glanceclient - # zypper install openstack-glance python-glanceclient - - - Edit the /etc/glance/glance-api.conf - file and complete the following actions: - - - In the [database] section, configure - database access: - [database] -... -connection = mysql://glance:GLANCE_DBPASS@controller/glance - Replace GLANCE_DBPASS with the - password you chose for the Image service database. - - - In the [keystone_authtoken] and - [paste_deploy] sections, configure Identity - service access: - [keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = glance -password = GLANCE_PASS - -[paste_deploy] -... -flavor = keystone - Replace GLANCE_PASS with the - password you chose for the glance user in the - Identity service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [glance_store] section, configure - the local file system store and location of image files: - [glance_store] -... -default_store = file -filesystem_store_datadir = /var/lib/glance/images/ - - - In the [DEFAULT] section, configure - the noop notification driver to disable - notifications because they only pertain to the optional - Telemetry service: - [DEFAULT] -... -notification_driver = noop - The Telemetry chapter provides an Image service configuration - that enables notifications. - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - Edit the /etc/glance/glance-registry.conf - file and complete the following actions: - - - In the [database] section, configure - database access: - [database] -... -connection = mysql://glance:GLANCE_DBPASS@controller/glance - Replace GLANCE_DBPASS with the - password you chose for the Image service database. - - - In the [keystone_authtoken] and - [paste_deploy] sections, configure Identity - service access: - [keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = glance -password = GLANCE_PASS - -[paste_deploy] -... -flavor = keystone - Replace GLANCE_PASS with the - password you chose for the glance user in the - Identity service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [DEFAULT] section, configure - the noop notification driver to disable - notifications because they only pertain to the optional - Telemetry service: - [DEFAULT] -... -notification_driver = noop - The Telemetry chapter provides an Image service configuration - that enables notifications. - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - Populate the Image service database: - # su -s /bin/sh -c "glance-manage db_sync" glance - - - - To install and configure the Image service components - - Install the packages: - # apt-get install glance python-glanceclient - - - Respond to prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message broker - credentials. - - - Select the keystone pipeline to configure the - Image service to use the Identity service: - - - - - - - - - To finalize installation - - Restart the Image service services: - # service glance-registry restart -# service glance-api restart - - - Start the Image service services and configure them to start when - the system boots: - # systemctl enable openstack-glance-api.service openstack-glance-registry.service -# systemctl start openstack-glance-api.service openstack-glance-registry.service - - - By default, the Ubuntu packages create an SQLite database. - Because this configuration uses a SQL database server, you can - remove the SQLite database file: - # rm -f /var/lib/glance/glance.sqlite - - -
    diff --git a/doc/install-guide/section_glance-verify.xml b/doc/install-guide/section_glance-verify.xml deleted file mode 100644 index ff5358949a..0000000000 --- a/doc/install-guide/section_glance-verify.xml +++ /dev/null @@ -1,97 +0,0 @@ - -
    - Verify operation - Verify operation of the Image service using - CirrOS, a small - Linux image that helps you test your OpenStack deployment. - For more information about how to download and build images, - see OpenStack Virtual Machine Image - Guide. For information about how to manage - images, see the OpenStack User Guide. - - - In each client environment script, configure the Image service - client to use API version 2.0: - $ echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - Create a temporary local directory: - $ mkdir /tmp/images - - - Download the source image into it: - $ wget -P /tmp/images http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img - - - Upload the image to the Image service using the - QCOW2 - disk format, bare container format, and - public visibility so all projects can access it: - $ glance image-create --name "cirros-0.3.4-x86_64" --file /tmp/images/cirros-0.3.4-x86_64-disk.img \ - --disk-format qcow2 --container-format bare --visibility public --progress -[=============================>] 100% -+------------------+--------------------------------------+ -| Property | Value | -+------------------+--------------------------------------+ -| checksum | 133eae9fb1c98f45894a4e60d8736619 | -| container_format | bare | -| created_at | 2015-03-26T16:52:10Z | -| disk_format | qcow2 | -| id | 38047887-61a7-41ea-9b49-27987d5e8bb9 | -| min_disk | 0 | -| min_ram | 0 | -| name | cirros-0.3.4-x86_64 | -| owner | ae7a98326b9c455588edd2656d723b9d | -| protected | False | -| size | 13200896 | -| status | active | -| tags | [] | -| updated_at | 2015-03-26T16:52:10Z | -| virtual_size | None | -| visibility | public | -+------------------+--------------------------------------+ - For information about the glance image-create - parameters, see Image service command-line client in the - OpenStack Command-Line Interface - Reference. - For information about disk and container formats for - images, see Disk and container formats for images in the - OpenStack Virtual Machine Image Guide. - - OpenStack generates IDs dynamically, so you will see - different values in the example command output. - - - - Confirm upload of the image and validate - attributes: - $ glance image-list -+--------------------------------------+---------------------+ -| ID | Name | -+--------------------------------------+---------------------+ -| 38047887-61a7-41ea-9b49-27987d5e8bb9 | cirros-0.3.4-x86_64 | -+--------------------------------------+---------------------+ - - - Remove the temporary local directory and source image: - $ rm -r /tmp/images - - -
    diff --git a/doc/install-guide/section_heat-install.xml b/doc/install-guide/section_heat-install.xml deleted file mode 100644 index cc993e6244..0000000000 --- a/doc/install-guide/section_heat-install.xml +++ /dev/null @@ -1,361 +0,0 @@ - -
    - Install and configure Orchestration - This section describes how to install and configure the - Orchestration module, code-named heat, on the controller node. - - To configure prerequisites - Before you install and configure Orchestration, you must create a - database, service credentials, and API endpoints. - - To create the database, complete these steps: - - - Use the database access client to connect to the database - server as the root user: - $ mysql -u root -p - - - Create the heat database: - CREATE DATABASE heat; - - - Grant proper access to the heat - database: - GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' \ - IDENTIFIED BY 'HEAT_DBPASS'; -GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' \ - IDENTIFIED BY 'HEAT_DBPASS'; - Replace HEAT_DBPASS with a suitable - password. - - - Exit the database access client. - - - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - To create the service credentials, complete these steps: - - - Create the heat user: - $ openstack user create --password-prompt heat -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | 7fd67878dcd04d0393469ef825a7e005 | -| name | heat | -| username | heat | -+----------+----------------------------------+ - - - Add the admin role to the - heat user: - $ openstack role add --project service --user heat admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the heat_stack_owner role: - $ openstack role create heat_stack_owner -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | c0a1cbee7261446abc873392f616de87 | -| name | heat_stack_owner | -+-------+----------------------------------+ - - - Add the heat_stack_owner role to the - demo tenant and user: - $ openstack role add --project demo --user demo heat_stack_owner -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | c0a1cbee7261446abc873392f616de87 | -| name | heat_stack_owner | -+-------+----------------------------------+ - - You must add the heat_stack_owner - role to users that manage stacks. - - - - Create the heat_stack_user role: - $ openstack role create heat_stack_user -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | e01546b1a81c4e32a6d14a9259e60154 | -| name | heat_stack_user | -+-------+----------------------------------+ - - The Orchestration service automatically assigns the - heat_stack_user role to users that it - creates during stack deployment. By default, this role - restricts API operations. To avoid - conflicts, do not add this role to users with the - heat_stack_owner role. - - - - Create the heat and - heat-cfn service entities: - $ openstack service create --name heat \ - --description "Orchestration" orchestration -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | Orchestration | -| enabled | True | -| id | 031112165cad4c2bb23e84603957de29 | -| name | heat | -| type | orchestration | -+-------------+----------------------------------+ -$ openstack service create --name heat-cfn \ - --description "Orchestration" cloudformation -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | Orchestration | -| enabled | True | -| id | 297740d74c0a446bbff867acdccb33fa | -| name | heat-cfn | -| type | cloudformation | -+-------------+----------------------------------+ - - - - - Create the Orchestration service API endpoints: - $ openstack endpoint create \ - --publicurl http://controller:8004/v1/%\(tenant_id\)s \ - --internalurl http://controller:8004/v1/%\(tenant_id\)s \ - --adminurl http://controller:8004/v1/%\(tenant_id\)s \ - --region RegionOne \ - orchestration -+--------------+-----------------------------------------+ -| Field | Value | -+--------------+-----------------------------------------+ -| adminurl | http://controller:8004/v1/%(tenant_id)s | -| id | f41225f665694b95a46448e8676b0dc2 | -| internalurl | http://controller:8004/v1/%(tenant_id)s | -| publicurl | http://controller:8004/v1/%(tenant_id)s | -| region | RegionOne | -| service_id | 031112165cad4c2bb23e84603957de29 | -| service_name | heat | -| service_type | orchestration | -+--------------+-----------------------------------------+ -$ openstack endpoint create \ - --publicurl http://controller:8000/v1 \ - --internalurl http://controller:8000/v1 \ - --adminurl http://controller:8000/v1 \ - --region RegionOne \ - cloudformation -+--------------+----------------------------------+ -| Field | Value | -+--------------+----------------------------------+ -| adminurl | http://controller:8000/v1 | -| id | f41225f665694b95a46448e8676b0dc2 | -| internalurl | http://controller:8000/v1 | -| publicurl | http://controller:8000/v1 | -| region | RegionOne | -| service_id | 297740d74c0a446bbff867acdccb33fa | -| service_name | heat-cfn | -| service_type | cloudformation | -+--------------+----------------------------------+ - - - - To install and configure the Orchestration components - - Run the following commands to install the packages: - # apt-get install heat-api heat-api-cfn heat-engine python-heatclient - # yum install openstack-heat-api openstack-heat-api-cfn openstack-heat-engine \ - python-heatclient - # zypper install openstack-heat-api openstack-heat-api-cfn openstack-heat-engine \ - python-heatclient - - - - Copy the /usr/share/heat/heat-dist.conf file - to /etc/heat/heat.conf. - # cp /usr/share/heat/heat-dist.conf /etc/heat/heat.conf -# chown -R heat:heat /etc/heat/heat.conf - Edit the /etc/heat/heat.conf file and - complete the following actions: - - - In the [database] section, configure - database access: - [database] -... -connection = mysql://heat:HEAT_DBPASS@controller/heat - Replace HEAT_DBPASS with the - password you chose for the Orchestration database. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - In the [keystone_authtoken] and - [ec2authtoken] sections, configure Identity - service access: - [keystone_authtoken] -... -auth_uri = http://controller:5000/v2.0 -identity_uri = http://controller:35357 -admin_tenant_name = service -admin_user = heat -admin_password = HEAT_PASS - -[ec2authtoken] -... -auth_uri = http://controller:5000/v2.0 - Replace HEAT_PASS with the - password you chose for the heat user - in the Identity service. - - Comment out any auth_host, - auth_port, and - auth_protocol options because the - identity_uri option replaces them. - - - - In the [DEFAULT] section, configure - the metadata and wait condition URLs: - [DEFAULT] -... -heat_metadata_server_url = http://controller:8000 -heat_waitcondition_server_url = http://controller:8000/v1/waitcondition - - - In the [DEFAULT] section, configure - information about the heat Identity service domain: - [DEFAULT] -... -stack_domain_admin = heat_domain_admin -stack_domain_admin_password = HEAT_DOMAIN_PASS -stack_user_domain_name = heat_user_domain - Replace HEAT_DOMAIN_PASS with the - password you chose for the admin user of the - heat user domain in the Identity service. - - - (Optional) To assist with troubleshooting, enable verbose - logging in the [DEFAULT] section: - [DEFAULT] -... -verbose = True - - - - - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - Create the heat domain in Identity service: - $ heat-keystone-setup-domain \ - --stack-user-domain-name heat_user_domain \ - --stack-domain-admin heat_domain_admin \ - --stack-domain-admin-password HEAT_DOMAIN_PASS - Replace HEAT_DOMAIN_PASS with a suitable - password. - - - - - Populate the Orchestration database: - # su -s /bin/sh -c "heat-manage db_sync" heat - - - - To install and configure the Orchestration components - - Run the following commands to install the packages: - # apt-get install heat-api heat-api-cfn heat-engine python-heat-client - - - Respond to prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message broker - credentials. - - - Edit the /etc/heat/heat.conf file and - complete the following actions: - - - In the [ec2authtoken] section, configure - Identity service access: - [ec2authtoken] -... -auth_uri = http://controller:5000/v2.0 - - - - - - To finalize installation - - Restart the Orchestration services: - # service heat-api restart -# service heat-api-cfn restart -# service heat-engine restart - - - Start the Orchestration services and configure them to start when - the system boots: - # systemctl enable openstack-heat-api.service openstack-heat-api-cfn.service \ - openstack-heat-engine.service -# systemctl start openstack-heat-api.service openstack-heat-api-cfn.service \ - openstack-heat-engine.service - - - By default, the Ubuntu packages create a SQLite database. - Because this configuration uses a SQL database server, you - can remove the SQLite database file: - # rm -f /var/lib/heat/heat.sqlite - - -
    diff --git a/doc/install-guide/section_heat-verify.xml b/doc/install-guide/section_heat-verify.xml deleted file mode 100644 index e0b125cc5b..0000000000 --- a/doc/install-guide/section_heat-verify.xml +++ /dev/null @@ -1,72 +0,0 @@ - -
    - Verify operation - This section describes how to verify operation of the Orchestration - module (heat). - - - Source the admin tenant credentials: - $ source admin-openrc.sh - - - The Orchestration module uses templates to describe stacks. To learn - about the template language, see the Template Guide in the Heat developer - documentation. - Create a test template in the test-stack.yml - file with the following content: - heat_template_version: 2014-10-16 -description: A simple server. - -parameters: - ImageID: - type: string - description: Image use to boot a server - NetID: - type: string - description: Network ID for the server - -resources: - server: - type: OS::Nova::Server - properties: - image: { get_param: ImageID } - flavor: m1.tiny - networks: - - network: { get_param: NetID } - -outputs: - private_ip: - description: IP address of the server in the private network - value: { get_attr: [ server, first_address ] } - - - Use the heat stack-create command to create a - stack from the template: - $ NET_ID=$(nova net-list | awk '/ demo-net / { print $2 }') -$ heat stack-create -f test-stack.yml \ - -P "ImageID=cirros-0.3.4-x86_64;NetID=$NET_ID" testStack -+--------------------------------------+------------+--------------------+----------------------+ -| id | stack_name | stack_status | creation_time | -+--------------------------------------+------------+--------------------+----------------------+ -| 477d96b4-d547-4069-938d-32ee990834af | testStack | CREATE_IN_PROGRESS | 2014-04-06T15:11:01Z | -+--------------------------------------+------------+--------------------+----------------------+ - - - Use the heat stack-list command to verify - successful creation of the stack: - $ heat stack-list -+--------------------------------------+------------+-----------------+----------------------+ -| id | stack_name | stack_status | creation_time | -+--------------------------------------+------------+-----------------+----------------------+ -| 477d96b4-d547-4069-938d-32ee990834af | testStack | CREATE_COMPLETE | 2014-04-06T15:11:01Z | -+--------------------------------------+------------+-----------------+----------------------+ - - -
    diff --git a/doc/install-guide/section_keystone-install.xml b/doc/install-guide/section_keystone-install.xml deleted file mode 100644 index 743a21fe8c..0000000000 --- a/doc/install-guide/section_keystone-install.xml +++ /dev/null @@ -1,427 +0,0 @@ - - -%openstack; -]> -
    - Install and configure - This section describes how to install and configure the OpenStack - Identity service, code-named keystone, on the controller node. For - performance, this configuration deploys the Apache HTTP server to - handle requests and Memcached to store tokens instead of a SQL - database. - - To configure prerequisites - Before you configure the OpenStack Identity service, you must create - a database and an administration token. - - To create the database, complete these steps: - - - Use the database access client to connect to the database - server as the root user: - $ mysql -u root -p - - - Create the keystone database: - CREATE DATABASE keystone; - - - Grant proper access to the keystone - database: - GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ - IDENTIFIED BY 'KEYSTONE_DBPASS'; -GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \ - IDENTIFIED BY 'KEYSTONE_DBPASS'; - Replace KEYSTONE_DBPASS with a suitable password. - - - Exit the database access client. - - - - - Generate a random value to use as the administration token during - initial configuration: - $ openssl rand -hex 10 - - - - To install and configure the Identity service components - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - In Kilo, the keystone project deprecates Eventlet in favor of - a WSGI server. This guide uses the Apache HTTP server with - mod_wsgi to serve keystone requests on ports - 5000 and 35357. By default, the - keystone service still - listens on ports 5000 and 35357. Therefore, this guide disables the - keystone service. - - - Disable the keystone - service from starting automatically after installation: - # echo "manual" > /etc/init/keystone.override - - - Run the following command to install the packages: - # apt-get install keystone python-openstackclient apache2 libapache2-mod-wsgi memcached python-memcache - # yum install openstack-keystone httpd mod_wsgi python-openstackclient memcached python-memcached - # zypper install openstack-keystone python-openstackclient apache2-mod_wsgi memcached python-python-memcached - - - Start the Memcached service and configure it to start when the - system boots: - # systemctl enable memcached.service -# systemctl start memcached.service - - - Edit the /etc/keystone/keystone.conf file and - complete the following actions: - - - In the [DEFAULT] section, define the value - of the initial administration token: - [DEFAULT] -... -admin_token = ADMIN_TOKEN - Replace ADMIN_TOKEN with the random - value that you generated in a previous step. - - - In the [database] section, configure - database access: - [database] -... -connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone - Replace KEYSTONE_DBPASS with the - password you chose for the database. - - - In the [memcache] section, configure - the Memcache service: - [memcache] -... -servers = localhost:11211 - - - In the [token] section, configure the UUID - token provider and Memcached driver: - [token] -... -provider = keystone.token.providers.uuid.Provider -driver = keystone.token.persistence.backends.memcache.Token - - - In the [revoke] section, configure - the SQL revocation driver: - [revoke] -... -driver = keystone.contrib.revoke.backends.sql.Revoke - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] section: - [DEFAULT] -... -verbose = True - - - - - Populate the Identity service database: - # su -s /bin/sh -c "keystone-manage db_sync" keystone - - - - To install and configure the components - - Run the following command to install the packages: - # apt-get install keystone - python-keystoneclient will automatically be installed as - it is a dependency of the keystone package. - - - Respond to prompts for , which - will fill the below database access directive. - [database] -... -connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone - If you decide to not use dbconfig-common, then you will have to - create the database and manage its access rights yourself, and run the - following by hand. - # keystone-manage db_sync - - - Generate a random value to use as the administration token during - initial configuration: - $ openssl rand -hex 10 - Configure the initial administration token: - - - - - - - - Use the random value that you generated in a previous step. If you - install using non-interactive mode or you do not specify this token, - the configuration tool generates a random value. - Later on, the package will configure the below directive with the - value you entered: - [DEFAULT] -... -admin_token = ADMIN_TOKEN - - - Create the admin tenant and user: - During the final stage of the package installation, it is possible - to automatically create an admin tenant and an admin user. This can - later be used for other OpenStack services to contact the Identity - service. This is the equivalent of running the below commands: - # openstack project create --description "Admin Tenant" admin -# openstack user create --password ADMIN_PASS --email root@localhost admin -# openstack role create admin -# openstack role add --project demo --user demo user - - - - - - - -   - - - - - - - -   - - - - - - - -   - - - - - - - -   - - - - - - - - - - Create the Identity service endpoints - In Debian, the Keystone package offers automatic registration of Keystone - in the service catalogue. This is equivalent of running the below commands: - # openstack service create --name keystone --description "OpenStack Identity" identity -# keystone endpoint-create \ - --publicurl http://controller:5000/v2.0 \ - --internalurl http://controller:5000/v2.0 \ - --adminurl http://controller:35357/v2.0 \ - --region RegionOne \ - identity - - - - - - - - - - - To configure the Apache HTTP server - - Edit the /etc/apache2/apache2.conf - /etc/httpd/conf/httpd.conf - file and configure the ServerName option to - reference the controller node: - ServerName controller - - - Edit the /etc/sysconfig/apache2 - file and - configure the APACHE_SERVERNAME option to reference the - controller node: - APACHE_SERVERNAME="controller" - - - Create the - /etc/apache2/sites-available/wsgi-keystone.conf - /etc/httpd/conf.d/wsgi-keystone.conf - /etc/apache2/conf.d/wsgi-keystone.conf - file with the following content: - Listen 5000 -Listen 35357 - -<VirtualHost *:5000> - WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone display-name=%{GROUP} - WSGIProcessGroup keystone-public - WSGIScriptAlias / /var/www/cgi-bin/keystone/main - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - <IfVersion >= 2.4> - ErrorLogFormat "%{cu}t %M" - </IfVersion> - LogLevel info - ErrorLog /var/log/apache2/keystone-error.log - CustomLog /var/log/apache2/keystone-access.log combined -</VirtualHost> - -<VirtualHost *:35357> - WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone display-name=%{GROUP} - WSGIProcessGroup keystone-admin - WSGIScriptAlias / /var/www/cgi-bin/keystone/admin - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - <IfVersion >= 2.4> - ErrorLogFormat "%{cu}t %M" - </IfVersion> - LogLevel info - ErrorLog /var/log/apache2/keystone-error.log - CustomLog /var/log/apache2/keystone-access.log combined -</VirtualHost> - Listen 5000 -Listen 35357 - -<VirtualHost *:5000> - WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} - WSGIProcessGroup keystone-public - WSGIScriptAlias / /var/www/cgi-bin/keystone/main - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - LogLevel info - ErrorLogFormat "%{cu}t %M" - ErrorLog /var/log/httpd/keystone-error.log - CustomLog /var/log/httpd/keystone-access.log combined -</VirtualHost> - -<VirtualHost *:35357> - WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} - WSGIProcessGroup keystone-admin - WSGIScriptAlias / /var/www/cgi-bin/keystone/admin - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - LogLevel info - ErrorLogFormat "%{cu}t %M" - ErrorLog /var/log/httpd/keystone-error.log - CustomLog /var/log/httpd/keystone-access.log combined -</VirtualHost> - Listen 5000 -Listen 35357 - -<VirtualHost *:5000> - WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone display-name=%{GROUP} - WSGIProcessGroup keystone-public - WSGIScriptAlias / /srv/www/cgi-bin/keystone/main - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - ErrorLogFormat "%{cu}t %M" - LogLevel info - ErrorLog /var/log/apache2/keystone-error.log - CustomLog /var/log/apache2/keystone-access.log combined -</VirtualHost> - -<VirtualHost *:35357> - WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone display-name=%{GROUP} - WSGIProcessGroup keystone-admin - WSGIScriptAlias / /srv/www/cgi-bin/keystone/admin - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - ErrorLogFormat "%{cu}t %M" - LogLevel info - ErrorLog /var/log/apache2/keystone-error.log - CustomLog /var/log/apache2/keystone-access.log combined -</VirtualHost> - - - Enable the Identity service virtual hosts: - # ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled - - - Create the directory structure for the WSGI components: - # mkdir -p /var/www/cgi-bin/keystone - # mkdir -p /srv/www/cgi-bin/keystone - - - Copy the WSGI components from the upstream repository into this - directory: - # curl http://git.openstack.org/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/kilo \ - | tee /var/www/cgi-bin/keystone/main /var/www/cgi-bin/keystone/admin - # curl http://git.openstack.org/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/kilo \ - | tee /srv/www/cgi-bin/keystone/main /srv/www/cgi-bin/keystone/admin - - - Adjust ownership and permissions on this directory and the files - in it: - # chown -R keystone:keystone /var/www/cgi-bin/keystone -# chmod 755 /var/www/cgi-bin/keystone/* - # chown -R keystone:keystone /srv/www/cgi-bin/keystone -# chmod 755 /srv/www/cgi-bin/keystone/* - - - - Change the ownership of - /etc/keystone to give the - keystone system access to it: - - # chown -R keystone:keystone /etc/keystone - - - - To finalize installation - - Restart the Apache HTTP server: - # service apache2 restart - # systemctl enable httpd.service -# systemctl start httpd.service - # systemctl enable apache2.service -# systemctl start apache2.service - - - By default, the Ubuntu packages create a SQLite database. - Because this configuration uses a SQL database server, you can - remove the SQLite database file: - # rm -f /var/lib/keystone/keystone.db - - - By default, the Identity service stores expired tokens in the - SQL database indefinitely. The accumulation of expired tokens - considerably increases the database size and degrades performance - over time, particularly in environments with limited resources. - The packages already contain a cron job under - /etc/cron.hourly/keystone, so it is not necessary - to manually configure a periodic task that purges expired tokens. - - -
    diff --git a/doc/install-guide/section_keystone-openrc.xml b/doc/install-guide/section_keystone-openrc.xml deleted file mode 100644 index 7b508b0b3c..0000000000 --- a/doc/install-guide/section_keystone-openrc.xml +++ /dev/null @@ -1,73 +0,0 @@ - -
    - Create OpenStack client environment scripts - The previous section used a combination of environment variables and - command options to interact with the Identity service via the - openstack client. To increase efficiency of client - operations, OpenStack supports simple client environment scripts also - known as OpenRC files. These scripts typically contain common options for - all clients, but also support unique options. For more information, see the - - OpenStack User Guide. - - To create the scripts - Create client environment scripts for the admin - and demo projects and users. Future portions of this - guide reference these scripts to load appropriate credentials for client - operations. - - Edit the admin-openrc.sh file and add the - following content: - export OS_PROJECT_DOMAIN_ID=default -export OS_USER_DOMAIN_ID=default -export OS_PROJECT_NAME=admin -export OS_TENANT_NAME=admin -export OS_USERNAME=admin -export OS_PASSWORD=ADMIN_PASS -export OS_AUTH_URL=http://controller:35357/v3 - Replace ADMIN_PASS with the password you chose - for the admin user in the Identity service. - - - Edit the demo-openrc.sh file and add the - following content: - export OS_PROJECT_DOMAIN_ID=default -export OS_USER_DOMAIN_ID=default -export OS_PROJECT_NAME=demo -export OS_TENANT_NAME=demo -export OS_USERNAME=demo -export OS_PASSWORD=DEMO_PASS -export OS_AUTH_URL=http://controller:5000/v3 - Replace DEMO_PASS with the password you chose - for the demo user in the Identity service. - - - - To load client environment scripts - To run clients as a specific project and user, you can simply load - the associated client environment script prior to running them. For - example: - - Load the admin-openrc.sh file to populate - environment variables with the location of the Identity service - and the admin project and user credentials: - $ source admin-openrc.sh - - - Request an authentication token: - $ openstack token issue -+------------+----------------------------------+ -| Field | Value | -+------------+----------------------------------+ -| expires | 2015-03-25T01:45:49.950092Z | -| id | cd4110152ac24bdeaa82e1443c910c36 | -| project_id | cf12a15c5ea84b019aec3dc45580896b | -| user_id | 4d411f2291f34941b30eef9bd797505a | -+------------+----------------------------------+ - - -
    diff --git a/doc/install-guide/section_keystone-services.xml b/doc/install-guide/section_keystone-services.xml deleted file mode 100644 index 8f783bdedd..0000000000 --- a/doc/install-guide/section_keystone-services.xml +++ /dev/null @@ -1,118 +0,0 @@ - -
    - Create the service entity and API endpoint - The Identity service provides a catalog of services and their - locations. Each service that you add to your OpenStack environment - requires a service entity and several - API endpoint in the - catalog. - - To configure prerequisites - By default, the Identity service database contains no information - to support conventional authentication and catalog services. You must - use a temporary authentication token that you created in - to initialize the service entity - and API endpoint for the Identity service. - You must pass the value of the authentication token to the - openstack command with the - --os-token parameter or set the - OS_TOKEN environment variable. Similarly, you - must also pass the value of the Identity service URL to the - openstack command with the - --os-url parameter or set the - OS_URL environment variable. This guide - uses environment variables to reduce command length. - - For security reasons, do not use the temporary authentication - token for longer than necessary to initialize the Identity - service. - - - Configure the authentication token: - $ export OS_TOKEN=ADMIN_TOKEN - Replace ADMIN_TOKEN with the - authentication token that you generated in - . For example: - $ export OS_TOKEN=294a4c8a8a475f9b9836 - - - Configure the endpoint URL: - $ export OS_URL=http://controller:35357/v2.0 - - - - To create the service entity and API endpoint - - The packages can automatically create the service entity and - API endpoint. - - - The Identity service manages a catalog of services in your - OpenStack environment. Services use this catalog to determine - the other services available in your environment. - Create the service entity for the Identity service: - - $ openstack service create \ - --name keystone --description "OpenStack Identity" identity -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | OpenStack Identity | -| enabled | True | -| id | 4ddaae90388b4ebc9d252ec2252d8d10 | -| name | keystone | -| type | identity | -+-------------+----------------------------------+ - - OpenStack generates IDs dynamically, so you will see - different values in the example command output. - - - - The Identity service manages a catalog of API endpoints associated - with the services in your OpenStack environment. Services use this - catalog to determine how to communicate with other services in your - environment. - OpenStack uses three API endpoint variants for each service: - admin, internal, and public. The admin API endpoint allows modifying - users and tenants by default, while the public and internal APIs - do not. In a production environment, the variants might reside on - separate networks that service different types of users for security - reasons. For instance, the public API network might be reachable from - outside the cloud for management tools, the admin API network might be - protected, while the internal API network is connected to each host. - Also, OpenStack supports multiple regions for scalability. For - simplicity, this guide uses the management network for all - endpoint variations and the default RegionOne - region. - Create the Identity service API endpoint: - $ openstack endpoint create \ - --publicurl http://controller:5000/v2.0 \ - --internalurl http://controller:5000/v2.0 \ - --adminurl http://controller:35357/v2.0 \ - --region RegionOne \ - identity -+--------------+----------------------------------+ -| Field | Value | -+--------------+----------------------------------+ -| adminurl | http://controller:35357/v2.0 | -| id | 4a9ffc04b8eb4848a49625a3df0170e5 | -| internalurl | http://controller:5000/v2.0 | -| publicurl | http://controller:5000/v2.0 | -| region | RegionOne | -| service_id | 4ddaae90388b4ebc9d252ec2252d8d10 | -| service_name | keystone | -| service_type | identity | -+--------------+----------------------------------+ - - - - Each service that you add to your OpenStack environment requires - one or more service entities and one API endpoint in the Identity - service. - -
    diff --git a/doc/install-guide/section_keystone-users.xml b/doc/install-guide/section_keystone-users.xml deleted file mode 100644 index 5734e77b1f..0000000000 --- a/doc/install-guide/section_keystone-users.xml +++ /dev/null @@ -1,173 +0,0 @@ - -
    - Create projects, users, and roles - The Identity service provides authentication services for each - OpenStack service. The authentication service uses a combination of - domains, - projects (tenants), - users, and - roles. - - For simplicity, this guide implicitly uses the - default domain. - - - To create tenants, users, and roles - - The packages can automatically create the service entity and - API endpoint. - - - Create an administrative project, user, and role for - administrative operations in your environment: - - - Create the admin project: - $ openstack project create --description "Admin Project" admin -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | Admin Project | -| enabled | True | -| id | cf12a15c5ea84b019aec3dc45580896b | -| name | admin | -+-------------+----------------------------------+ - - OpenStack generates IDs dynamically, so you will see - different values in the example command output. - - - - Create the admin user: - $ openstack user create --password-prompt admin -User Password: -Repeat User Password: -+------------+----------------------------------+ -| Field | Value | -+------------+----------------------------------+ -| email | None | -| enabled | True | -| id | 4d411f2291f34941b30eef9bd797505a | -| name | admin | -| username | admin | -+------------+----------------------------------+ - - - Create the admin role: - $ openstack role create admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Add the admin role to the - admin project and user: - $ openstack role add --project admin --user admin admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - - Any roles that you create must map to roles specified in the - policy.json file in the configuration file - directory of each OpenStack service. The default policy for most - services grants administrative access to the - admin role. For more information, - see the - Operations Guide - Managing Projects and Users. - - - - This guide uses a service project that contains a unique - user for each service that you add to your environment. - - - Create the service project: - $ openstack project create --description "Service Project" service -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | Service Project | -| enabled | True | -| id | 55cbd79c0c014c8a95534ebd16213ca1 | -| name | service | -+-------------+----------------------------------+ - - - - - Regular (non-admin) tasks should use an unprivileged project - and user. As an example, this guide creates the - demo project and user. - - - Create the demo project: - $ openstack project create --description "Demo Project" demo -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | Demo Project | -| enabled | True | -| id | ab8ea576c0574b6092bb99150449b2d3 | -| name | demo | -+-------------+----------------------------------+ - - Do not repeat this step when creating additional - users for this project. - - - - Create the demo user: - $ openstack user create --password-prompt demo -User Password: -Repeat User Password: -+------------+----------------------------------+ -| Field | Value | -+------------+----------------------------------+ -| email | None | -| enabled | True | -| id | 3a81e6c8103b46709ef8d141308d4c72 | -| name | demo | -| username | demo | -+------------+----------------------------------+ - - - Create the user role: - $ openstack role create user -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | 9fe2ff9ee4384b1894a90878d3e92bab | -| name | user | -+-------+----------------------------------+ - - - Add the user role to the - demo project and user: - $ openstack role add --project demo --user demo user -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | 9fe2ff9ee4384b1894a90878d3e92bab | -| name | user | -+-------+----------------------------------+ - - - - - - You can repeat this procedure to create additional projects - and users. - -
    diff --git a/doc/install-guide/section_keystone-verify.xml b/doc/install-guide/section_keystone-verify.xml deleted file mode 100644 index 121349f934..0000000000 --- a/doc/install-guide/section_keystone-verify.xml +++ /dev/null @@ -1,178 +0,0 @@ - -
    - Verify operation - Verify operation of the Identity service before installing other - services. - - - For security reasons, disable the temporary authentication - token mechanism: - Edit the - /etc/keystone/keystone-paste.ini - /usr/share/keystone/keystone-dist-paste.ini - file and remove admin_token_auth from the - [pipeline:public_api], - [pipeline:admin_api], and - [pipeline:api_v3] sections. - - - Unset the temporary OS_TOKEN and - OS_URL environment variables: - $ unset OS_TOKEN OS_URL - - - As the admin user, request an authentication - token from the Identity version 2.0 API: - $ openstack --os-auth-url http://controller:35357 \ - --os-project-name admin --os-username admin --os-auth-type password \ - token issue -Password: -+------------+----------------------------------+ -| Field | Value | -+------------+----------------------------------+ -| expires | 2015-03-24T18:55:01Z | -| id | ff5ed908984c4a4190f584d826d75fed | -| project_id | cf12a15c5ea84b019aec3dc45580896b | -| user_id | 4d411f2291f34941b30eef9bd797505a | -+------------+----------------------------------+ - - This command uses the password for the admin - user. - - - - The Identity version 3 API adds support for domains that contain - projects and users. Projects and users can use the same names in - different domains. Therefore, in order to use the version 3 API, - requests must also explicitly contain at least the - default domain or use IDs. For simplicity, this - guide explicitly uses the default domain - so examples can use names instead of IDs. - $ openstack --os-auth-url http://controller:35357 \ - --os-project-domain-id default --os-user-domain-id default \ - --os-project-name admin --os-username admin --os-auth-type password \ - token issue -Password: -+------------+----------------------------------+ -| Field | Value | -+------------+----------------------------------+ -| expires | 2015-03-24T18:55:01Z | -| id | ff5ed908984c4a4190f584d826d75fed | -| project_id | cf12a15c5ea84b019aec3dc45580896b | -| user_id | 4d411f2291f34941b30eef9bd797505a | -+------------+----------------------------------+ - - This command uses the password for the admin - user. - - - - As the - admin user, list projects to verify that the - admin user can execute admin-only CLI commands - and that the Identity service contains the projects that you - created in : - As the admin user, list projects - to verify that the admin user can execute - CLI commands and that the Identity service contains the projects - created by the configuration tool: - $ openstack --os-auth-url http://controller:35357 \ - --os-project-name admin --os-username admin --os-auth-type password \ - project list -Password: -+----------------------------------+---------+ -| ID | Name | -+----------------------------------+---------+ -| 55cbd79c0c014c8a95534ebd16213ca1 | service | -| ab8ea576c0574b6092bb99150449b2d3 | demo | -| cf12a15c5ea84b019aec3dc45580896b | admin | -+----------------------------------+---------+ - - This command uses the password for the admin - user. - - - - As the - admin user, list users to verify that the - Identity service contains the users that you created in - : - As the admin user, list users to - verify that the Identity service contains the users created by - the configuration tool: - $ openstack --os-auth-url http://controller:35357 \ - --os-project-name admin --os-username admin --os-auth-type password \ - user list -Password: -+----------------------------------+-------+ -| ID | Name | -+----------------------------------+-------+ -| 4d411f2291f34941b30eef9bd797505a | admin | -| 3a81e6c8103b46709ef8d141308d4c72 | demo | -+----------------------------------+-------+ - - This command uses the password for the admin - user. - - - - As the - admin user, list roles to verify that the - Identity service contains the role that you created in - : - As the admin user, list roles to - verify that the Identity service contains the role created by the - configuration tool: - $ openstack --os-auth-url http://controller:35357 \ - --os-project-name admin --os-username admin --os-auth-type password \ - role list -Password: -+----------------------------------+-------+ -| ID | Name | -+----------------------------------+-------+ -| 9fe2ff9ee4384b1894a90878d3e92bab | user | -| cd2cb9a39e874ea69e5d4b896eb16128 | admin | -+----------------------------------+-------+ - - This command uses the password for the admin - user. - - - - As the demo user, request an authentication - token from the Identity version 3 API: - $ openstack --os-auth-url http://controller:5000 \ - --os-project-domain-id default --os-user-domain-id default \ - --os-project-name demo --os-username demo --os-auth-type password \ - token issue -Password: -+------------+----------------------------------+ -| Property | Value | -+------------+----------------------------------+ -| expires | 2014-10-10T12:51:33Z | -| id | 1b87ceae9e08411ba4a16e4dada04802 | -| project_id | 4aa51bb942be4dd0ac0555d7591f80a6 | -| user_id | 7004dfa0dda84d63aef81cf7f100af01 | -+------------+----------------------------------+ - - This command uses the password for the demo - user and API port 5000 which only allows regular (non-admin) - access to the Identity service API. - - - - As the demo user, attempt to list users - to verify that it cannot execute admin-only CLI commands: - $ openstack --os-auth-url http://controller:5000 \ - --os-project-domain-id default --os-user-domain-id default \ - --os-project-name demo --os-username demo --os-auth-type password \ - user list -Password: -ERROR: openstack You are not authorized to perform the requested action, admin_required. (HTTP 403) - - -
    diff --git a/doc/install-guide/section_launch-instance-neutron.xml b/doc/install-guide/section_launch-instance-neutron.xml deleted file mode 100644 index adf3cb72d8..0000000000 --- a/doc/install-guide/section_launch-instance-neutron.xml +++ /dev/null @@ -1,364 +0,0 @@ - -
    - Launch an instance with OpenStack Networking (neutron) - - To generate a key pair - Most cloud images support - public key authentication rather than conventional - user name/password authentication. Before launching an instance, you must - generate a public/private key pair. - - Source the demo tenant credentials: - $ source demo-openrc.sh - - - Generate and add a key pair: - $ nova keypair-add demo-key - - - Verify addition of the key pair: - $ nova keypair-list -+----------+-------------------------------------------------+ -| Name | Fingerprint | -+----------+-------------------------------------------------+ -| demo-key | 6c:74:ec:3a:08:05:4e:9e:21:22:a6:dd:b2:62:b8:28 | -+----------+-------------------------------------------------+ - - - - To launch an instance - To launch an instance, you must at least specify the flavor, image - name, network, security group, key, and instance name. - - A flavor specifies a virtual resource allocation profile which - includes processor, memory, and storage. - List available flavors: - $ nova flavor-list -+-----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ -| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | -+-----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ -| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | -| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | -| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | -| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | -| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | -+-----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ - Your first instance uses the m1.tiny - flavor. - - You can also reference a flavor by ID. - - - - List available images: - $ nova image-list -+--------------------------------------+---------------------+--------+--------+ -| ID | Name | Status | Server | -+--------------------------------------+---------------------+--------+--------+ -| acafc7c0-40aa-4026-9673-b879898e1fc2 | cirros-0.3.4-x86_64 | ACTIVE | | -+--------------------------------------+---------------------+--------+--------+ - Your first instance uses the - cirros-0.3.4-x86_64 image. - - - List available networks: - $ neutron net-list -+--------------------------------------+----------+-------------------------------------------------------+ -| id | name | subnets | -+--------------------------------------+----------+-------------------------------------------------------+ -| 3c612b5a-d1db-498a-babb-a4c50e344cb1 | demo-net | 20bcd3fd-5785-41fe-ac42-55ff884e3180 192.168.1.0/24 | -| 9bce64a3-a963-4c05-bfcd-161f708042d1 | ext-net | b54a8d85-b434-4e85-a8aa-74873841a90d 203.0.113.0/24 | -+--------------------------------------+----------+-------------------------------------------------------+ - Your first instance uses the demo-net tenant - network. However, you must reference this network using the ID instead - of the name. - - - List available security groups: - $ nova secgroup-list -+--------------------------------------+---------+-------------+ -| Id | Name | Description | -+--------------------------------------+---------+-------------+ -| ad8d4ea5-3cad-4f7d-b164-ada67ec59473 | default | default | -+--------------------------------------+---------+-------------+ - Your first instance uses the default security - group. By default, this security group implements a firewall that - blocks remote access to instances. If you would like to permit - remote access to your instance, launch it and then - - configure remote access. - - - Launch the instance: - Replace DEMO_NET_ID with the ID of the - demo-net tenant network. - $ nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 --nic net-id=DEMO_NET_ID \ - --security-group default --key-name demo-key demo-instance1 -+--------------------------------------+------------------------------------------------------------+ -| Property | Value | -+--------------------------------------+------------------------------------------------------------+ -| OS-DCF:diskConfig | MANUAL | -| OS-EXT-AZ:availability_zone | nova | -| OS-EXT-STS:power_state | 0 | -| OS-EXT-STS:task_state | scheduling | -| OS-EXT-STS:vm_state | building | -| OS-SRV-USG:launched_at | - | -| OS-SRV-USG:terminated_at | - | -| accessIPv4 | | -| accessIPv6 | | -| adminPass | vFW7Bp8PQGNo | -| config_drive | | -| created | 2014-04-09T19:24:27Z | -| flavor | m1.tiny (1) | -| hostId | | -| id | 05682b91-81a1-464c-8f40-8b3da7ee92c5 | -| image | cirros-0.3.4-x86_64 (acafc7c0-40aa-4026-9673-b879898e1fc2) | -| key_name | demo-key | -| metadata | {} | -| name | demo-instance1 | -| os-extended-volumes:volumes_attached | [] | -| progress | 0 | -| security_groups | default | -| status | BUILD | -| tenant_id | 7cf50047f8df4824bc76c2fdf66d11ec | -| updated | 2014-04-09T19:24:27Z | -| user_id | 0e47686e72114d7182f7569d70c519c9 | -+--------------------------------------+------------------------------------------------------------+ - - - Check the status of your instance: - $ nova list -+--------------------------------------+----------------+--------+------------+-------------+-------------------------+ -| ID | Name | Status | Task State | Power State | Networks | -+--------------------------------------+----------------+--------+------------+-------------+-------------------------+ -| 05682b91-81a1-464c-8f40-8b3da7ee92c5 | demo-instance1 | ACTIVE | - | Running | demo-net=192.168.1.3 | -+--------------------------------------+----------------+--------+------------+-------------+-------------------------+ - The status changes from BUILD to - ACTIVE when your instance finishes the build - process. - - - - To access your instance using a virtual console - - Obtain a Virtual Network Computing (VNC) - session URL for your instance and access it from a web browser: - $ nova get-vnc-console demo-instance1 novnc -+-------+------------------------------------------------------------------------------------+ -| Type | Url | -+-------+------------------------------------------------------------------------------------+ -| novnc | http://controller:6080/vnc_auto.html?token=2f6dd985-f906-4bfc-b566-e87ce656375b | -+-------+------------------------------------------------------------------------------------+ - - If your web browser runs on a host that cannot resolve the - controller host name, you can replace - controller with the IP address of the - management interface on your controller node. - - The CirrOS image includes conventional user name/password - authentication and provides these credentials at the login prompt. - After logging into CirrOS, we recommend that you verify network - connectivity using ping. - Verify the demo-net tenant network - gateway: - $ ping -c 4 192.168.1.1 -PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. -64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=0.357 ms -64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=0.473 ms -64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=0.504 ms -64 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=0.470 ms - ---- 192.168.1.1 ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 2998ms -rtt min/avg/max/mdev = 0.357/0.451/0.504/0.055 ms - Verify the ext-net external network: - $ ping -c 4 openstack.org -PING openstack.org (174.143.194.225) 56(84) bytes of data. -64 bytes from 174.143.194.225: icmp_req=1 ttl=53 time=17.4 ms -64 bytes from 174.143.194.225: icmp_req=2 ttl=53 time=17.5 ms -64 bytes from 174.143.194.225: icmp_req=3 ttl=53 time=17.7 ms -64 bytes from 174.143.194.225: icmp_req=4 ttl=53 time=17.5 ms - ---- openstack.org ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3003ms -rtt min/avg/max/mdev = 17.431/17.575/17.734/0.143 ms - - - - To access your instance remotely - - Add rules to the default security group: - - - Permit ICMP (ping): - $ nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 -+-------------+-----------+---------+-----------+--------------+ -| IP Protocol | From Port | To Port | IP Range | Source Group | -+-------------+-----------+---------+-----------+--------------+ -| icmp | -1 | -1 | 0.0.0.0/0 | | -+-------------+-----------+---------+-----------+--------------+ - - - Permit secure shell (SSH) access: - $ nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 -+-------------+-----------+---------+-----------+--------------+ -| IP Protocol | From Port | To Port | IP Range | Source Group | -+-------------+-----------+---------+-----------+--------------+ -| tcp | 22 | 22 | 0.0.0.0/0 | | -+-------------+-----------+---------+-----------+--------------+ - - - - - Create a floating IP address on the - ext-net external network: - $ neutron floatingip-create ext-net -Created a new floatingip: -+---------------------+--------------------------------------+ -| Field | Value | -+---------------------+--------------------------------------+ -| fixed_ip_address | | -| floating_ip_address | 203.0.113.102 | -| floating_network_id | 9bce64a3-a963-4c05-bfcd-161f708042d1 | -| id | 05e36754-e7f3-46bb-9eaa-3521623b3722 | -| port_id | | -| router_id | | -| status | DOWN | -| tenant_id | 7cf50047f8df4824bc76c2fdf66d11ec | -+---------------------+--------------------------------------+ - - - Associate the floating IP address with your instance: - $ nova floating-ip-associate demo-instance1 203.0.113.102 - - This command provides no output. - - - - Check the status of your floating IP address: - $ nova list -+--------------------------------------+----------------+--------+------------+-------------+-----------------------------------------+ -| ID | Name | Status | Task State | Power State | Networks | -+--------------------------------------+----------------+--------+------------+-------------+-----------------------------------------+ -| 05682b91-81a1-464c-8f40-8b3da7ee92c5 | demo-instance1 | ACTIVE | - | Running | demo-net=192.168.1.3, 203.0.113.102 | -+--------------------------------------+----------------+--------+------------+-------------+-----------------------------------------+ - - - Verify network connectivity using ping from the - controller node or any host on the external network: - $ ping -c 4 203.0.113.102 -PING 203.0.113.102 (203.0.113.112) 56(84) bytes of data. -64 bytes from 203.0.113.102: icmp_req=1 ttl=63 time=3.18 ms -64 bytes from 203.0.113.102: icmp_req=2 ttl=63 time=0.981 ms -64 bytes from 203.0.113.102: icmp_req=3 ttl=63 time=1.06 ms -64 bytes from 203.0.113.102: icmp_req=4 ttl=63 time=0.929 ms - ---- 203.0.113.102 ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3002ms -rtt min/avg/max/mdev = 0.929/1.539/3.183/0.951 ms - - - Access your instance using SSH from the controller node or any - host on the external network: - $ ssh cirros@203.0.113.102 -The authenticity of host '203.0.113.102 (203.0.113.102)' can't be established. -RSA key fingerprint is ed:05:e9:e7:52:a0:ff:83:68:94:c7:d1:f2:f8:e2:e9. -Are you sure you want to continue connecting (yes/no)? yes -Warning: Permanently added '203.0.113.102' (RSA) to the list of known hosts. -$ - - If your host does not contain the public/private key pair created - in an earlier step, SSH prompts for the default password associated - with the cirros user. - - - - - To attach a Block Storage volume to your instance - If your environment includes the Block Storage service, you can - attach a volume to the instance. - - Source the demo credentials: - $ source demo-openrc.sh - - - List volumes: - $ nova volume-list -+--------------------------------------+-----------+--------------+------+-------------+-------------+ -| ID | Status | Display Name | Size | Volume Type | Attached to | -+--------------------------------------+-----------+--------------+------+-------------+-------------+ -| 158bea89-07db-4ac2-8115-66c0d6a4bb48 | available | | 1 | - | | -+--------------------------------------+-----------+--------------+------+-------------+-------------+ - - - Attach the demo-volume1 volume to - the demo-instance1 instance: - $ nova volume-attach demo-instance1 158bea89-07db-4ac2-8115-66c0d6a4bb48 -+----------+--------------------------------------+ -| Property | Value | -+----------+--------------------------------------+ -| device | /dev/vdb | -| id | 158bea89-07db-4ac2-8115-66c0d6a4bb48 | -| serverId | 05682b91-81a1-464c-8f40-8b3da7ee92c5 | -| volumeId | 158bea89-07db-4ac2-8115-66c0d6a4bb48 | -+----------+--------------------------------------+ - - You must reference volumes using the IDs instead of - names. - - - - List volumes: - $ nova volume-list -+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ -| ID | Status | Display Name | Size | Volume Type | Attached to | -+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ -| 158bea89-07db-4ac2-8115-66c0d6a4bb48 | in-use | | 1 | - | 05682b91-81a1-464c-8f40-8b3da7ee92c5 | -+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ - The ID of the demo-volume1 volume should - indicate in-use status by the ID of the - demo-instance1 instance. - - - Access your instance using SSH from the controller node or any - host on the external network and use the fdisk - command to verify presence of the volume as the - /dev/vdb block storage device: - $ ssh cirros@203.0.113.102 -$ sudo fdisk -l - -Disk /dev/vda: 1073 MB, 1073741824 bytes -255 heads, 63 sectors/track, 130 cylinders, total 2097152 sectors -Units = sectors of 1 * 512 = 512 bytes -Sector size (logical/physical): 512 bytes / 512 bytes -I/O size (minimum/optimal): 512 bytes / 512 bytes -Disk identifier: 0x00000000 - - Device Boot Start End Blocks Id System -/dev/vda1 * 16065 2088449 1036192+ 83 Linux - -Disk /dev/vdb: 1073 MB, 1073741824 bytes -16 heads, 63 sectors/track, 2080 cylinders, total 2097152 sectors -Units = sectors of 1 * 512 = 512 bytes -Sector size (logical/physical): 512 bytes / 512 bytes -I/O size (minimum/optimal): 512 bytes / 512 bytes -Disk identifier: 0x00000000 - -Disk /dev/vdb doesn't contain a valid partition table - - You must create a partition table and file system to use - the volume. - - - - If your instance does not launch or seem to work as you expect, see the - - OpenStack Operations Guide for more - information or use one of the - many other options to seek - assistance. We want your environment to work! -
    diff --git a/doc/install-guide/section_launch-instance-nova.xml b/doc/install-guide/section_launch-instance-nova.xml deleted file mode 100644 index 9bd3d9f53f..0000000000 --- a/doc/install-guide/section_launch-instance-nova.xml +++ /dev/null @@ -1,331 +0,0 @@ - -
    - Launch an instance with legacy networking (nova-network) - - To generate a key pair - Most cloud images support - public key authentication rather than conventional - user name/password authentication. Before launching an instance, you must - generate a public/private key pair using ssh-keygen - and add the public key to your OpenStack environment. - - Source the demo tenant credentials: - $ source demo-openrc.sh - - - Generate a key pair: - $ ssh-keygen - - - Add the public key to your OpenStack environment: - $ nova keypair-add --pub-key ~/.ssh/id_rsa.pub demo-key - - This command provides no output. - - - - Verify addition of the public key: - $ nova keypair-list -+----------+-------------------------------------------------+ -| Name | Fingerprint | -+----------+-------------------------------------------------+ -| demo-key | 6c:74:ec:3a:08:05:4e:9e:21:22:a6:dd:b2:62:b8:28 | -+----------+-------------------------------------------------+ - - - - To launch an instance - To launch an instance, you must at least specify the flavor, image - name, network, security group, key, and instance name. - - A flavor specifies a virtual resource allocation profile which - includes processor, memory, and storage. - List available flavors: - $ nova flavor-list -+-----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ -| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | -+-----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ -| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | -| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | -| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | -| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | -| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | -+-----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ - Your first instance uses the m1.tiny - flavor. - - You can also reference a flavor by ID. - - - - List available images: - $ nova image-list -+--------------------------------------+---------------------+--------+--------+ -| ID | Name | Status | Server | -+--------------------------------------+---------------------+--------+--------+ -| acafc7c0-40aa-4026-9673-b879898e1fc2 | cirros-0.3.4-x86_64 | ACTIVE | | -+--------------------------------------+---------------------+--------+--------+ - Your first instance uses the - cirros-0.3.4-x86_64 image. - - - List available networks: - - You must source the admin tenant credentials - for this step and then source the demo tenant - credentials for the remaining steps. - $ source admin-openrc.sh - - $ nova net-list -+--------------------------------------+----------+------------------+ -| ID | Label | CIDR | -+--------------------------------------+----------+------------------+ -| 7f849be3-4494-495a-95a1-0f99ccb884c4 | demo-net | 203.0.113.24/29 | -+--------------------------------------+----------+------------------+ - Your first instance uses the demo-net tenant - network. However, you must reference this network using the ID instead - of the name. - - - List available security groups: - $ nova secgroup-list -+--------------------------------------+---------+-------------+ -| Id | Name | Description | -+--------------------------------------+---------+-------------+ -| ad8d4ea5-3cad-4f7d-b164-ada67ec59473 | default | default | -+--------------------------------------+---------+-------------+ - Your first instance uses the default security - group. By default, this security group implements a firewall that - blocks remote access to instances. If you would like to permit - remote access to your instance, launch it and then - - configure remote access. - - - Launch the instance: - Replace DEMO_NET_ID with the ID of the - demo-net tenant network. - $ nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 --nic net-id=DEMO_NET_ID \ - --security-group default --key-name demo-key demo-instance1 -+--------------------------------------+------------------------------------------------------------+ -| Property | Value | -+--------------------------------------+------------------------------------------------------------+ -| OS-DCF:diskConfig | MANUAL | -| OS-EXT-AZ:availability_zone | nova | -| OS-EXT-STS:power_state | 0 | -| OS-EXT-STS:task_state | scheduling | -| OS-EXT-STS:vm_state | building | -| OS-SRV-USG:launched_at | - | -| OS-SRV-USG:terminated_at | - | -| accessIPv4 | | -| accessIPv6 | | -| adminPass | ThZqrg7ach78 | -| config_drive | | -| created | 2014-04-10T00:09:16Z | -| flavor | m1.tiny (1) | -| hostId | | -| id | 45ea195c-c469-43eb-83db-1a663bbad2fc | -| image | cirros-0.3.4-x86_64 (acafc7c0-40aa-4026-9673-b879898e1fc2) | -| key_name | demo-key | -| metadata | {} | -| name | demo-instance1 | -| os-extended-volumes:volumes_attached | [] | -| progress | 0 | -| security_groups | default | -| status | BUILD | -| tenant_id | 93849608fe3d462ca9fa0e5dbfd4d040 | -| updated | 2014-04-10T00:09:16Z | -| user_id | 8397567baf4746cca7a1e608677c3b23 | -+--------------------------------------+------------------------------------------------------------+ - - - Check the status of your instance: - $ nova list -+--------------------------------------+----------------+--------+------------+-------------+------------------------+ -| ID | Name | Status | Task State | Power State | Networks | -+--------------------------------------+----------------+--------+------------+-------------+------------------------+ -| 45ea195c-c469-43eb-83db-1a663bbad2fc | demo-instance1 | ACTIVE | - | Running | demo-net=203.0.113.26 | -+--------------------------------------+----------------+--------+------------+-------------+------------------------+ - The status changes from BUILD to - ACTIVE when your instance finishes the build - process. - - - - To access your instance using a virtual console - - Obtain a Virtual Network Computing (VNC) - session URL for your instance and access it from a web browser: - $ nova get-vnc-console demo-instance1 novnc -+-------+------------------------------------------------------------------------------------+ -| Type | Url | -+-------+------------------------------------------------------------------------------------+ -| novnc | http://controller:6080/vnc_auto.html?token=2f6dd985-f906-4bfc-b566-e87ce656375b | -+-------+------------------------------------------------------------------------------------+ - - If your web browser runs on a host that cannot resolve the - controller host name, you can replace - controller with the IP address of the - management interface on your controller node. - - The CirrOS image includes conventional user name/password - authentication and provides these credentials at the login prompt. - After logging into CirrOS, we recommend that you verify network - connectivity using ping. - Verify the demo-net network: - $ ping -c 4 openstack.org -PING openstack.org (174.143.194.225) 56(84) bytes of data. -64 bytes from 174.143.194.225: icmp_req=1 ttl=53 time=17.4 ms -64 bytes from 174.143.194.225: icmp_req=2 ttl=53 time=17.5 ms -64 bytes from 174.143.194.225: icmp_req=3 ttl=53 time=17.7 ms -64 bytes from 174.143.194.225: icmp_req=4 ttl=53 time=17.5 ms - ---- openstack.org ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3003ms -rtt min/avg/max/mdev = 17.431/17.575/17.734/0.143 ms - - - - To access your instance remotely - - Add rules to the default security group: - - - Permit ICMP (ping): - $ nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 -+-------------+-----------+---------+-----------+--------------+ -| IP Protocol | From Port | To Port | IP Range | Source Group | -+-------------+-----------+---------+-----------+--------------+ -| icmp | -1 | -1 | 0.0.0.0/0 | | -+-------------+-----------+---------+-----------+--------------+ - - - Permit secure shell (SSH) access: - $ nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 -+-------------+-----------+---------+-----------+--------------+ -| IP Protocol | From Port | To Port | IP Range | Source Group | -+-------------+-----------+---------+-----------+--------------+ -| tcp | 22 | 22 | 0.0.0.0/0 | | -+-------------+-----------+---------+-----------+--------------+ - - - - - Verify network connectivity using ping from the - controller node or any host on the external network: - $ ping -c 4 203.0.113.26 -PING 203.0.113.26 (203.0.113.26) 56(84) bytes of data. -64 bytes from 203.0.113.26: icmp_req=1 ttl=63 time=3.18 ms -64 bytes from 203.0.113.26: icmp_req=2 ttl=63 time=0.981 ms -64 bytes from 203.0.113.26: icmp_req=3 ttl=63 time=1.06 ms -64 bytes from 203.0.113.26: icmp_req=4 ttl=63 time=0.929 ms - ---- 203.0.113.26 ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 3002ms -rtt min/avg/max/mdev = 0.929/1.539/3.183/0.951 ms - - - Access your instance using SSH from the controller node or any - host on the external network: - $ ssh cirros@203.0.113.26 -The authenticity of host '203.0.113.26 (203.0.113.26)' can't be established. -RSA key fingerprint is ed:05:e9:e7:52:a0:ff:83:68:94:c7:d1:f2:f8:e2:e9. -Are you sure you want to continue connecting (yes/no)? yes -Warning: Permanently added '203.0.113.26' (RSA) to the list of known hosts. -$ - - If your host does not contain the public/private key pair created - in an earlier step, SSH prompts for the default password associated - with the cirros user. - - - - - To attach a Block Storage volume to your instance - If your environment includes the Block Storage service, you can - attach a volume to the instance. - - Source the demo credentials: - $ source demo-openrc.sh - - - List volumes: - $ nova volume-list -+--------------------------------------+-----------+--------------+------+-------------+-------------+ -| ID | Status | Display Name | Size | Volume Type | Attached to | -+--------------------------------------+-----------+--------------+------+-------------+-------------+ -| 158bea89-07db-4ac2-8115-66c0d6a4bb48 | available | | 1 | - | | -+--------------------------------------+-----------+--------------+------+-------------+-------------+ - - - Attach the demo-volume1 volume to - the demo-instance1 instance: - $ nova volume-attach demo-instance1 158bea89-07db-4ac2-8115-66c0d6a4bb48 -+----------+--------------------------------------+ -| Property | Value | -+----------+--------------------------------------+ -| device | /dev/vdb | -| id | 158bea89-07db-4ac2-8115-66c0d6a4bb48 | -| serverId | 45ea195c-c469-43eb-83db-1a663bbad2fc | -| volumeId | 158bea89-07db-4ac2-8115-66c0d6a4bb48 | -+----------+--------------------------------------+ - - You must reference volumes using the IDs instead of - names. - - - - List volumes: - $ nova volume-list -+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ -| ID | Status | Display Name | Size | Volume Type | Attached to | -+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ -| 158bea89-07db-4ac2-8115-66c0d6a4bb48 | in-use | | 1 | - | 45ea195c-c469-43eb-83db-1a663bbad2fc | -+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ - The ID of the demo-volume1 volume should - indicate in-use status by the ID of the - demo-instance1 instance. - - - Access your instance using SSH from the controller node or any - host on the external network and use the fdisk - command to verify presence of the volume as the - /dev/vdb block storage device: - $ ssh cirros@203.0.113.102 -$ sudo fdisk -l - -Disk /dev/vda: 1073 MB, 1073741824 bytes -255 heads, 63 sectors/track, 130 cylinders, total 2097152 sectors -Units = sectors of 1 * 512 = 512 bytes -Sector size (logical/physical): 512 bytes / 512 bytes -I/O size (minimum/optimal): 512 bytes / 512 bytes -Disk identifier: 0x00000000 - - Device Boot Start End Blocks Id System -/dev/vda1 * 16065 2088449 1036192+ 83 Linux - -Disk /dev/vdb: 1073 MB, 1073741824 bytes -16 heads, 63 sectors/track, 2080 cylinders, total 2097152 sectors -Units = sectors of 1 * 512 = 512 bytes -Sector size (logical/physical): 512 bytes / 512 bytes -I/O size (minimum/optimal): 512 bytes / 512 bytes -Disk identifier: 0x00000000 - -Disk /dev/vdb doesn't contain a valid partition table - - You must create a partition table and file system to use - the volume. - - - - If your instance does not launch or seem to work as you expect, see the - - OpenStack Operations Guide for more - information or use one of the - many other options to seek - assistance. We want your environment to work! -
    diff --git a/doc/install-guide/section_neutron-compute-node.xml b/doc/install-guide/section_neutron-compute-node.xml deleted file mode 100644 index 72df33df3b..0000000000 --- a/doc/install-guide/section_neutron-compute-node.xml +++ /dev/null @@ -1,362 +0,0 @@ - -
    - Install and configure compute node - The compute node handles connectivity and - security groups - for instances. - - To configure prerequisites - Before you install and configure OpenStack Networking, you - must configure certain kernel networking parameters. - - Edit the /etc/sysctl.conf file to - contain the following parameters: - net.ipv4.conf.all.rp_filter=0 -net.ipv4.conf.default.rp_filter=0 -net.bridge.bridge-nf-call-iptables=1 -net.bridge.bridge-nf-call-ip6tables=1 - - - Implement the changes: - # sysctl -p - - - - To install the Networking components - - # apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent - # yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch - # zypper install --no-recommends openstack-neutron-openvswitch-agent ipset - - SUSE does not use a separate ML2 plug-in package. - - - - - To install and configure the Networking components - - # apt-get install neutron-plugin-openvswitch-agent openvswitch-datapath-dkms - - Debian does not use a separate ML2 plug-in package. - - - - Respond to prompts for database - management, Identity service credentials, service endpoint - registration, and message queue credentials. - - - Select the ML2 plug-in: - - - - - - - - - Selecting the ML2 plug-in also populates the - and - options in the - /etc/neutron/neutron.conf file with the - appropriate values. - - - - - To configure the Networking common components - The Networking common component configuration includes the - authentication mechanism, message queue, and plug-in. - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Edit the /etc/neutron/neutron.conf file - and complete the following actions: - - - In the [database] section, comment out - any connection options because compute nodes - do not directly access the database. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - In the [DEFAULT] and - [keystone_authtoken] sections, - configure Identity service access: - [DEFAULT] -... -auth_strategy = keystone - -[keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = neutron -password = NEUTRON_PASS - Replace NEUTRON_PASS with the - password you chose or the neutron user in the - Identity service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [DEFAULT] section, enable the - Modular Layer 2 (ML2) plug-in, router service, and overlapping - IP addresses: - [DEFAULT] -... -core_plugin = ml2 -service_plugins = router -allow_overlapping_ips = True - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - - To configure the Modular Layer 2 (ML2) plug-in - The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to - build the virtual networking framework for instances. - - Edit the - /etc/neutron/plugins/ml2/ml2_conf.ini - file and complete the following actions: - - - In the [ml2] section, enable the - flat, - VLAN, - generic routing encapsulation (GRE), and - virtual extensible LAN (VXLAN) - network type drivers, GRE tenant networks, and the OVS - mechanism driver: - [ml2] -... -type_drivers = flat,vlan,gre,vxlan -tenant_network_types = gre -mechanism_drivers = openvswitch - - - In the [ml2_type_gre] section, configure - the tunnel identifier (id) range: - [ml2_type_gre] -... -tunnel_id_ranges = 1:1000 - - - In the [securitygroup] section, enable - security groups, enable ipset, and - configure the OVS iptables firewall - driver: - [securitygroup] -... -enable_security_group = True -enable_ipset = True -firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver - - - In the [ovs] section, enable tunnels - and configure the local tunnel endpoint: - [ovs] -... -local_ip = INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS - Replace - INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS - with the IP address of the instance tunnels network interface - on your compute node. - - - In the [agent] section, enable GRE - tunnels: - [agent] -... -tunnel_types = gre - - - - - - To configure the Open vSwitch (OVS) service - The OVS service provides the underlying virtual networking framework - for instances. - - Start the OVS service and configure it to start when the - system boots: - # systemctl enable openvswitch.service -# systemctl start openvswitch.service - - - Restart the OVS service: - # service openvswitch-switch restart - - - - To configure Compute to use Networking - By default, distribution packages configure Compute to use - legacy networking. You must reconfigure Compute to manage - networks through Networking. - - Edit the /etc/nova/nova.conf file and - complete the following actions: - - - In the [DEFAULT] section, configure - the APIs and drivers: - [DEFAULT] -... -network_api_class = nova.network.neutronv2.api.API -security_group_api = neutron -linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver -firewall_driver = nova.virt.firewall.NoopFirewallDriver - - By default, Compute uses an internal firewall service. - Since Networking includes a firewall service, you must - disable the Compute firewall service by using the - nova.virt.firewall.NoopFirewallDriver - firewall driver. - - - - In the [neutron] section, configure - access parameters: - [neutron] -... -url = http://controller:9696 -auth_strategy = keystone -admin_auth_url = http://controller:35357/v2.0 -admin_tenant_name = service -admin_username = neutron -admin_password = NEUTRON_PASS - Replace NEUTRON_PASS with the - password you chose for the neutron user - in the Identity service. - - - - - - To finalize the installation - - The Networking service initialization scripts expect a - symbolic link /etc/neutron/plugin.ini - pointing to the ML2 plug-in configuration file, - /etc/neutron/plugins/ml2/ml2_conf.ini. - If this symbolic link does not exist, create it using the - following command: - # ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini - Due to a packaging bug, the Open vSwitch agent initialization - script explicitly looks for the Open vSwitch plug-in configuration - file rather than a symbolic link - /etc/neutron/plugin.ini pointing to the ML2 - plug-in configuration file. Run the following commands to resolve this - issue: - # cp /usr/lib/systemd/system/neutron-openvswitch-agent.service \ - /usr/lib/systemd/system/neutron-openvswitch-agent.service.orig -# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' \ - /usr/lib/systemd/system/neutron-openvswitch-agent.service - - - The Networking service initialization scripts expect the - variable NEUTRON_PLUGIN_CONF in the - /etc/sysconfig/neutron file to - reference the ML2 plug-in configuration file. Edit the - /etc/sysconfig/neutron file and add the - following: - NEUTRON_PLUGIN_CONF="/etc/neutron/plugins/ml2/ml2_conf.ini" - - - Restart the Compute service: - # systemctl restart openstack-nova-compute.service - # service nova-compute restart - - - Start the Open vSwitch (OVS) agent and configure it to - start when the system boots: - # systemctl enable neutron-openvswitch-agent.service -# systemctl start neutron-openvswitch-agent.service - - - Start the Open vSwitch (OVS) agent and configure it to - start when the system boots: - # systemctl enable openstack-neutron-openvswitch-agent.service -# systemctl start openstack-neutron-openvswitch-agent.service - - - Restart the Open vSwitch (OVS) agent: - # service neutron-plugin-openvswitch-agent restart - - - - Verify operation - - Perform these commands on the controller node. - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - List agents to verify successful launch of the - neutron agents: - $ neutron agent-list -+--------------------------------------+--------------------+----------+-------+----------------+---------------------------+ -| id | agent_type | host | alive | admin_state_up | binary | -+--------------------------------------+--------------------+----------+-------+----------------+---------------------------+ -| 30275801-e17a-41e4-8f53-9db63544f689 | Metadata agent | network | :-) | True | neutron-metadata-agent | -| 4bd8c50e-7bad-4f3b-955d-67658a491a15 | Open vSwitch agent | network | :-) | True | neutron-openvswitch-agent | -| 756e5bba-b70f-4715-b80e-e37f59803d20 | L3 agent | network | :-) | True | neutron-l3-agent | -| 9c45473c-6d6d-4f94-8df1-ebd0b6838d5f | DHCP agent | network | :-) | True | neutron-dhcp-agent | -| a5a49051-05eb-4b4f-bfc7-d36235fe9131 | Open vSwitch agent | compute1 | :-) | True | neutron-openvswitch-agent | -+--------------------------------------+--------------------+----------+-------+----------------+---------------------------+ - - This output should indicate four agents alive on the - network node and one agent alive on the compute node. - - - -
    diff --git a/doc/install-guide/section_neutron-concepts.xml b/doc/install-guide/section_neutron-concepts.xml deleted file mode 100644 index 0f5dc7eae5..0000000000 --- a/doc/install-guide/section_neutron-concepts.xml +++ /dev/null @@ -1,63 +0,0 @@ - -
    - Networking concepts - OpenStack Networking (neutron) manages all networking facets - for the Virtual Networking Infrastructure (VNI) and the access - layer aspects of the Physical Networking Infrastructure (PNI) in - your OpenStack environment. OpenStack Networking enables tenants - to create advanced virtual network topologies including services - such as firewalls, - load balancers, - and virtual - private networks (VPNs). - Networking provides the networks, subnets, and routers object - abstractions. Each abstraction has functionality that mimics its - physical counterpart: networks contain subnets, and routers route - traffic between different subnet and networks. - Each router has one gateway that connects to a network, and - many interfaces connected to subnets. Subnets can access machines - on other subnets connected to the same router. - Any given Networking set up has at least one external network. - Unlike the other networks, the external network is not merely a - virtually defined network. Instead, it represents a view into a - slice of the physical, external network accessible outside the - OpenStack installation. IP addresses on the external network are - accessible by anybody physically on the outside network. Because - the external network merely represents a view into the outside - network, DHCP is disabled on this network. - In addition to external networks, any Networking set up has - one or more internal networks. These software-defined networks - connect directly to the VMs. Only the VMs on any given internal - network, or those on subnets connected through interfaces to a - similar router, can access VMs connected to that network - directly. - For the outside network to access VMs, and vice versa, routers - between the networks are needed. Each router has one gateway that - is connected to a network and many interfaces that are connected - to subnets. Like a physical router, subnets can access machines on - other subnets that are connected to the same router, and machines - can access the outside network through the gateway for the - router. - Additionally, you can allocate IP addresses on external - networks to ports on the internal network. Whenever something is - connected to a subnet, that connection is called a port. You can - associate external network IP addresses with ports to VMs. This - way, entities on the outside network can access VMs. - Networking also supports security - groups. Security groups enable administrators to - define firewall rules in groups. A VM can belong to one or more - security groups, and Networking applies the rules in those - security groups to block or unblock ports, port ranges, or traffic - types for that VM. - Each plug-in that Networking uses has its own concepts. While - not vital to operating the VNI and OpenStack environment, - understanding these concepts can help you set up Networking. - All Networking installations use a core plug-in and a security group - plug-in (or just the No-Op security group plug-in). Additionally, - Firewall-as-a-Service (FWaaS) and Load-Balancer-as-a-Service (LBaaS) - plug-ins are available. -
    diff --git a/doc/install-guide/section_neutron-controller-node.xml b/doc/install-guide/section_neutron-controller-node.xml deleted file mode 100644 index be34583fea..0000000000 --- a/doc/install-guide/section_neutron-controller-node.xml +++ /dev/null @@ -1,461 +0,0 @@ - -
    - Install and configure controller node - - To configure prerequisites - Before you configure the OpenStack Networking (neutron) service, - you must create a database, service credentials, and API - endpoint. - - To create the database, complete these steps: - - - Use the database access client to connect to the database - server as the root user: - $ mysql -u root -p - - - Create the neutron database: - CREATE DATABASE neutron; - - - Grant proper access to the neutron - database: - GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ - IDENTIFIED BY 'NEUTRON_DBPASS'; -GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ - IDENTIFIED BY 'NEUTRON_DBPASS'; - Replace NEUTRON_DBPASS with a - suitable password. - - - Exit the database access client. - - - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - To create the service credentials, complete these steps: - - - Create the neutron user: - $ openstack user create --password-prompt neutron -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | ab67f043d9304017aaa73d692eeb4945 | -| name | neutron | -| username | neutron | -+----------+----------------------------------+ - - - Add the admin role to the - neutron user: - $ openstack role add --project service --user neutron admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the neutron service entity: - $ openstack service create --name neutron \ - --description "OpenStack Networking" network -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | OpenStack Networking | -| enabled | True | -| id | f71529314dab4a4d8eca427e701d209e | -| name | neutron | -| type | network | -+-------------+----------------------------------+ - - - - - Create the Networking service API endpoint: - $ openstack endpoint create \ - --publicurl http://controller:9696 \ - --adminurl http://controller:9696 \ - --internalurl http://controller:9696 \ - --region RegionOne \ - network -+--------------+----------------------------------+ -| Field | Value | -+--------------+----------------------------------+ -| adminurl | http://controller:9696 | -| id | 04a7d3c1de784099aaba83a8a74100b3 | -| internalurl | http://controller:9696 | -| publicurl | http://controller:9696 | -| region | RegionOne | -| service_id | f71529314dab4a4d8eca427e701d209e | -| service_name | neutron | -| service_type | network | -+--------------+----------------------------------+ - - - - To install the Networking components - - # apt-get install neutron-server neutron-plugin-ml2 python-neutronclient - # yum install openstack-neutron openstack-neutron-ml2 python-neutronclient which - # zypper install openstack-neutron openstack-neutron-server - - SUSE does not use a separate ML2 plug-in package. - - - - - To install and configure the Networking components - - # apt-get install neutron-server - - Debian does not use a separate ML2 plug-in package. - - - - Respond to prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message queue - credentials. - - - Select the ML2 plug-in: - - - - - - - - - Selecting the ML2 plug-in also populates the - and - options in the - /etc/neutron/neutron.conf file with the - appropriate values. - - - - - To configure the Networking server component - The Networking server component configuration includes the database, - authentication mechanism, message queue, topology change notifications, - and plug-in. - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Edit the /etc/neutron/neutron.conf file - and complete the following actions: - - - In the [database] section, configure - database access: - [database] -... -connection = mysql://neutron:NEUTRON_DBPASS@controller/neutron - Replace NEUTRON_DBPASS with the - password you chose for the database. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account - in RabbitMQ. - - - In the [DEFAULT] and - [keystone_authtoken] sections, - configure Identity service access: - [DEFAULT] -... -auth_strategy = keystone - -[keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = neutron -password = NEUTRON_PASS - Replace NEUTRON_PASS with the - password you chose for the neutron user in the - Identity service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [DEFAULT] section, enable the - Modular Layer 2 (ML2) plug-in, router service, and overlapping - IP addresses: - [DEFAULT] -... -core_plugin = ml2 -service_plugins = router -allow_overlapping_ips = True - - - In the [DEFAULT] and - [nova] sections, configure - Networking to notify Compute of network topology changes: - [DEFAULT] -... -notify_nova_on_port_status_changes = True -notify_nova_on_port_data_changes = True -nova_url = http://controller:8774/v2 - -[nova] -... -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -region_name = RegionOne -project_name = service -username = nova -password = NOVA_PASS - Replace NOVA_PASS with the password - you chose for the nova user in the Identity - service. - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - - To configure the Modular Layer 2 (ML2) plug-in - The ML2 plug-in uses the - Open vSwitch (OVS) - mechanism (agent) to build the virtual networking framework for - instances. However, the controller node does not need the OVS - components because it does not handle instance network traffic. - - Edit the - /etc/neutron/plugins/ml2/ml2_conf.ini - file and complete the following actions: - - - In the [ml2] section, enable the - flat, - VLAN, - generic routing encapsulation (GRE), and - virtual extensible LAN (VXLAN) - network type drivers, GRE tenant networks, and the OVS - mechanism driver: - [ml2] -... -type_drivers = flat,vlan,gre,vxlan -tenant_network_types = gre -mechanism_drivers = openvswitch - - Once you configure the ML2 plug-in, changing values in - the type_drivers option can lead to - database inconsistency. - - - - In the [ml2_type_gre] section, configure - the tunnel identifier (id) range: - [ml2_type_gre] -... -tunnel_id_ranges = 1:1000 - - - In the [securitygroup] section, enable - security groups, enable ipset, and - configure the OVS iptables firewall - driver: - [securitygroup] -... -enable_security_group = True -enable_ipset = True -firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver - - - - - - To configure Compute to use Networking - By default, distribution packages configure Compute to use legacy - networking. You must reconfigure Compute to manage networks through - Networking. - - Edit the /etc/nova/nova.conf file on the controller - node and complete the following actions: - - - In the [DEFAULT] section, configure - the APIs and drivers: - [DEFAULT] -... -network_api_class = nova.network.neutronv2.api.API -security_group_api = neutron -linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver -firewall_driver = nova.virt.firewall.NoopFirewallDriver - - By default, Compute uses an internal firewall service. - Since Networking includes a firewall service, you must - disable the Compute firewall service by using the - nova.virt.firewall.NoopFirewallDriver - firewall driver. - - - - In the [neutron] section, configure - access parameters: - [neutron] -... -url = http://controller:9696 -auth_strategy = keystone -admin_auth_url = http://controller:35357/v2.0 -admin_tenant_name = service -admin_username = neutron -admin_password = NEUTRON_PASS - Replace NEUTRON_PASS with the - password you chose for the neutron user - in the Identity service. - - - - - - To finalize installation - - The Networking service initialization scripts expect a - symbolic link /etc/neutron/plugin.ini - pointing to the ML2 plug-in configuration file, - /etc/neutron/plugins/ml2/ml2_conf.ini. - If this symbolic link does not exist, create it using the - following command: - # ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini - - - The Networking service initialization scripts expect the - variable NEUTRON_PLUGIN_CONF in the - /etc/sysconfig/neutron file to - reference the ML2 plug-in configuration file. Edit the - /etc/sysconfig/neutron file and add the - following: - NEUTRON_PLUGIN_CONF="/etc/neutron/plugins/ml2/ml2_conf.ini" - - - Populate the database: - - # su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \ - --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron - - Database population occurs later for Networking because the - script requires complete server and plug-in configuration - files. - - - - Restart the Compute services: - # systemctl restart openstack-nova-api.service openstack-nova-scheduler.service \ - openstack-nova-conductor.service - # service nova-api restart - - - Start the Networking service and configure it to start when the - system boots: - # systemctl enable neutron-server.service -# systemctl start neutron-server.service - - - Start the Networking service and configure it to start when the - system boots: - # systemctl enable openstack-neutron.service -# systemctl start openstack-neutron.service - - - Restart the Networking service: - # service neutron-server restart - - - - Verify operation - - Perform these commands on the controller node. - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - List loaded extensions to verify successful launch of the - neutron-server process: - $ neutron ext-list -+-----------------------+-----------------------------------------------+ -| alias | name | -+-----------------------+-----------------------------------------------+ -| security-group | security-group | -| l3_agent_scheduler | L3 Agent Scheduler | -| ext-gw-mode | Neutron L3 Configurable external gateway mode | -| binding | Port Binding | -| provider | Provider Network | -| agent | agent | -| quotas | Quota management support | -| dhcp_agent_scheduler | DHCP Agent Scheduler | -| l3-ha | HA Router extension | -| multi-provider | Multi Provider Network | -| external-net | Neutron external network | -| router | Neutron L3 Router | -| allowed-address-pairs | Allowed Address Pairs | -| extraroute | Neutron Extra Route | -| extra_dhcp_opt | Neutron Extra DHCP opts | -| dvr | Distributed Virtual Router | -+-----------------------+-----------------------------------------------+ - - -
    diff --git a/doc/install-guide/section_neutron-initial-networks.xml b/doc/install-guide/section_neutron-initial-networks.xml deleted file mode 100644 index 33b35e60c8..0000000000 --- a/doc/install-guide/section_neutron-initial-networks.xml +++ /dev/null @@ -1,267 +0,0 @@ - -
    - Create initial networks - Before launching your first instance, you must create the - necessary virtual network infrastructure to which the instances - connect, including the - external network - and - tenant network. - See . After - creating this infrastructure, we recommend that you - verify - connectivity and resolve any issues before proceeding further. - provides a - basic architectural overview of the components that Networking implements - for the initial networks and shows how network traffic flows from the - instance to the external network or Internet. -
    - Initial networks - - - - - -
    -
    - External network - The external network typically provides Internet access for - your instances. By default, this network only allows Internet - access from instances using - Network Address Translation (NAT). You can - enable Internet access to individual instances - using a floating IP address and suitable - security group rules. The admin - tenant owns this network because it provides external network - access for multiple tenants. - - Perform these commands on the controller node. - - - To create the external network - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - Create the network: - $ neutron net-create ext-net --router:external \ - --provider:physical_network external --provider:network_type flat -Created a new network: -+---------------------------+--------------------------------------+ -| Field | Value | -+---------------------------+--------------------------------------+ -| admin_state_up | True | -| id | 893aebb9-1c1e-48be-8908-6b947f3237b3 | -| name | ext-net | -| provider:network_type | flat | -| provider:physical_network | external | -| provider:segmentation_id | | -| router:external | True | -| shared | False | -| status | ACTIVE | -| subnets | | -| tenant_id | 54cd044c64d5408b83f843d63624e0d8 | -+---------------------------+--------------------------------------+ - - - Like a physical network, a virtual network requires a - subnet assigned to it. The external network - shares the same subnet and gateway associated - with the physical network connected to the external interface on the - network node. You should specify an exclusive slice of this subnet - for router and floating IP addresses to prevent - interference with other devices on the external network. - - To create a subnet on the external network - - Create the subnet: - $ neutron subnet-create ext-net EXTERNAL_NETWORK_CIDR --name ext-subnet \ - --allocation-pool start=FLOATING_IP_START,end=FLOATING_IP_END \ - --disable-dhcp --gateway EXTERNAL_NETWORK_GATEWAY - Replace FLOATING_IP_START and - FLOATING_IP_END with the first and last - IP addresses of the range that you want to allocate for floating IP - addresses. Replace EXTERNAL_NETWORK_CIDR - with the subnet associated with the physical network. Replace - EXTERNAL_NETWORK_GATEWAY with the gateway - associated with the physical network, typically the ".1" IP address. - You should disable DHCP on this subnet because - instances do not connect directly to the external network and - floating IP addresses require manual assignment. - For example, using 203.0.113.0/24 with - floating IP address range 203.0.113.101 to - 203.0.113.200: - $ neutron subnet-create ext-net 203.0.113.0/24 --name ext-subnet \ - --allocation-pool start=203.0.113.101,end=203.0.113.200 \ - --disable-dhcp --gateway 203.0.113.1 -Created a new subnet: -+-------------------+------------------------------------------------------+ -| Field | Value | -+-------------------+------------------------------------------------------+ -| allocation_pools | {"start": "203.0.113.101", "end": "203.0.113.200"} | -| cidr | 203.0.113.0/24 | -| dns_nameservers | | -| enable_dhcp | False | -| gateway_ip | 203.0.113.1 | -| host_routes | | -| id | 9159f0dc-2b63-41cf-bd7a-289309da1391 | -| ip_version | 4 | -| ipv6_address_mode | | -| ipv6_ra_mode | | -| name | ext-subnet | -| network_id | 893aebb9-1c1e-48be-8908-6b947f3237b3 | -| tenant_id | 54cd044c64d5408b83f843d63624e0d8 | -+-------------------+------------------------------------------------------+ - - -
    -
    - Tenant network - The tenant network provides internal network access for instances. - The architecture isolates this type of network from other tenants. The - demo tenant owns this network because it only - provides network access for instances within it. - - Perform these commands on the controller node. - - - To create the tenant network - - Source the demo credentials to gain access to - user-only CLI commands: - $ source demo-openrc.sh - - - Create the network: - $ neutron net-create demo-net -Created a new network: -+-----------------+--------------------------------------+ -| Field | Value | -+-----------------+--------------------------------------+ -| admin_state_up | True | -| id | ac108952-6096-4243-adf4-bb6615b3de28 | -| name | demo-net | -| router:external | False | -| shared | False | -| status | ACTIVE | -| subnets | | -| tenant_id | cdef0071a0194d19ac6bb63802dc9bae | -+-----------------+--------------------------------------+ - - - Like the external network, your tenant network also requires - a subnet attached to it. You can specify any valid subnet because the - architecture isolates tenant networks. By default, this subnet uses - DHCP so your instances can obtain IP addresses. - - To create a subnet on the tenant network - - Create the subnet: - $ neutron subnet-create demo-net TENANT_NETWORK_CIDR \ - --name demo-subnet --gateway TENANT_NETWORK_GATEWAY - Replace TENANT_NETWORK_CIDR with the - subnet you want to associate with the tenant network and - TENANT_NETWORK_GATEWAY with the gateway - you want to associate with it, typically the ".1" IP address. - Example using 192.168.1.0/24: - $ neutron subnet-create demo-net 192.168.1.0/24 \ - --name demo-subnet --gateway 192.168.1.1 -Created a new subnet: -+-------------------+------------------------------------------------------+ -| Field | Value | -+-------------------+------------------------------------------------------+ -| allocation_pools | {"start": "192.168.1.2", "end": "192.168.1.254"} | -| cidr | 192.168.1.0/24 | -| dns_nameservers | | -| enable_dhcp | True | -| gateway_ip | 192.168.1.1 | -| host_routes | | -| id | 69d38773-794a-4e49-b887-6de6734e792d | -| ip_version | 4 | -| ipv6_address_mode | | -| ipv6_ra_mode | | -| name | demo-subnet | -| network_id | ac108952-6096-4243-adf4-bb6615b3de28 | -| tenant_id | cdef0071a0194d19ac6bb63802dc9bae | -+-------------------+------------------------------------------------------+ - - - A virtual router passes network traffic between two or more virtual - networks. Each router requires one or more - interfaces and/or gateways - that provide access to specific networks. In this case, you create - a router and attach your tenant and external networks to it. - - To create a router on the tenant network and attach the external - and tenant networks to it - - Create the router: - $ neutron router-create demo-router -Created a new router: -+-----------------------+--------------------------------------+ -| Field | Value | -+-----------------------+--------------------------------------+ -| admin_state_up | True | -| external_gateway_info | | -| id | 635660ae-a254-4feb-8993-295aa9ec6418 | -| name | demo-router | -| routes | | -| status | ACTIVE | -| tenant_id | cdef0071a0194d19ac6bb63802dc9bae | -+-----------------------+--------------------------------------+ - - - Attach the router to the demo tenant - subnet: - $ neutron router-interface-add demo-router demo-subnet -Added interface b1a894fd-aee8-475c-9262-4342afdc1b58 to router demo-router. - - - Attach the router to the external network by setting it as - the gateway: - $ neutron router-gateway-set demo-router ext-net -Set gateway for router demo-router - - -
    -
    - Verify connectivity - We recommend that you verify network connectivity and resolve any - issues before proceeding further. Following the external network - subnet example using 203.0.113.0/24, the tenant - router gateway should occupy the lowest IP address in the floating - IP address range, 203.0.113.101. If you configured - your external physical network and virtual networks correctly, you - should be able to ping this IP address from any - host on your external physical network. - - If you are building your OpenStack nodes as virtual machines, - you must configure the hypervisor to permit promiscuous mode on the - external network. - - - To verify network connectivity - - From a host on the external network, ping the tenant router - gateway: - $ ping -c 4 203.0.113.101 -PING 203.0.113.101 (203.0.113.101) 56(84) bytes of data. -64 bytes from 203.0.113.101: icmp_req=1 ttl=64 time=0.619 ms -64 bytes from 203.0.113.101: icmp_req=2 ttl=64 time=0.189 ms -64 bytes from 203.0.113.101: icmp_req=3 ttl=64 time=0.165 ms -64 bytes from 203.0.113.101: icmp_req=4 ttl=64 time=0.216 ms - ---- 203.0.113.101 ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 2999ms -rtt min/avg/max/mdev = 0.165/0.297/0.619/0.187 ms - - -
    -
    diff --git a/doc/install-guide/section_neutron-network-node.xml b/doc/install-guide/section_neutron-network-node.xml deleted file mode 100644 index 81a186d671..0000000000 --- a/doc/install-guide/section_neutron-network-node.xml +++ /dev/null @@ -1,575 +0,0 @@ - -
    - Install and configure network node - The network node primarily handles internal and external routing - and DHCP services for virtual networks. - - To configure prerequisites - Before you install and configure OpenStack Networking, you - must configure certain kernel networking parameters. - - Edit the /etc/sysctl.conf file to - contain the following parameters: - net.ipv4.ip_forward=1 -net.ipv4.conf.all.rp_filter=0 -net.ipv4.conf.default.rp_filter=0 - - - Implement the changes: - # sysctl -p - - - - To install the Networking components - - # apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent \ - neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent - # yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch - # zypper install --no-recommends openstack-neutron-openvswitch-agent openstack-neutron-l3-agent \ - openstack-neutron-dhcp-agent openstack-neutron-metadata-agent ipset - - SUSE does not use a separate ML2 plug-in package. - - - - - To install and configure the Networking components - - # apt-get install neutron-plugin-openvswitch-agent openvswitch-datapath-dkms \ - neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent - - Debian does not use a separate ML2 plug-in package. - - - - Respond to prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message queue - credentials. - - - Select the ML2 plug-in: - - - - - - - - - Selecting the ML2 plug-in also populates the - and - options in the - /etc/neutron/neutron.conf file with the - appropriate values. - - - - - To configure the Networking common components - The Networking common component configuration includes the - authentication mechanism, message queue, and plug-in. - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Edit the /etc/neutron/neutron.conf file - and complete the following actions: - - - In the [database] section, comment out - any connection options because network nodes - do not directly access the database. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account - in RabbitMQ. - - - In the [DEFAULT] and - [keystone_authtoken] sections, - configure Identity service access: - [DEFAULT] -... -auth_strategy = keystone - -[keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = neutron -password = NEUTRON_PASS - Replace NEUTRON_PASS with the - password you chose or the neutron user in the - Identity service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [DEFAULT] section, - enable the Modular Layer 2 (ML2) plug-in, - router service, and overlapping IP addresses: - [DEFAULT] -... -core_plugin = ml2 -service_plugins = router -allow_overlapping_ips = True - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - - To configure the Modular Layer 2 (ML2) plug-in - The ML2 plug-in uses the - Open vSwitch (OVS) - mechanism (agent) to build the virtual networking framework for - instances. - - Edit the - /etc/neutron/plugins/ml2/ml2_conf.ini - file and complete the following actions: - - - In the [ml2] section, enable the - flat, - VLAN, - generic routing encapsulation (GRE), and - virtual extensible LAN (VXLAN) - network type drivers, GRE tenant networks, and the OVS - mechanism driver: - [ml2] -... -type_drivers = flat,vlan,gre,vxlan -tenant_network_types = gre -mechanism_drivers = openvswitch - - - In the [ml2_type_flat] section, - configure the external flat provider network: - [ml2_type_flat] -... -flat_networks = external - - - In the [ml2_type_gre] section, - configure the tunnel identifier (id) range: - [ml2_type_gre] -... -tunnel_id_ranges = 1:1000 - - - In the [securitygroup] - section, enable security groups, enable - ipset, and configure - the OVS iptables firewall - driver: - [securitygroup] -... -enable_security_group = True -enable_ipset = True -firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver - - - In the [ovs] section, enable tunnels, - configure the local tunnel endpoint, and map the external flat - provider network to the br-ex external - network bridge: - [ovs] -... -local_ip = INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS -bridge_mappings = external:br-ex - Replace - INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS - with the IP address of the instance - tunnels network interface on your network node. - - - In the [agent] section, enable GRE - tunnels: - [agent] -... -tunnel_types = gre - - - - - - To configure the Layer-3 (L3) agent - The Layer-3 (L3) agent provides - routing services for virtual networks. - - Edit the /etc/neutron/l3_agent.ini - file and complete the following actions: - - - In the [DEFAULT] section, configure - the interface driver, external network bridge, and enable - deletion of defunct router namespaces: - [DEFAULT] -... -interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver -external_network_bridge = -router_delete_namespaces = True - - The external_network_bridge option - intentionally lacks a value to enable multiple external - networks on a single agent. - - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - - To configure the DHCP agent - The DHCP agent provides DHCP - services for virtual networks. - - Edit the - /etc/neutron/dhcp_agent.ini file - and complete the following actions: - - - In the [DEFAULT] section, configure - the interface and DHCP drivers and enable deletion of defunct - DHCP namespaces: - [DEFAULT] -... -interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver -dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq -dhcp_delete_namespaces = True - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - (Optional) - Tunneling protocols such as GRE include additional packet - headers that increase overhead and decrease space available for the - payload or user data. Without knowledge of the virtual network - infrastructure, instances attempt to send packets using the default - Ethernet maximum transmission unit (MTU) of - 1500 bytes. Internet protocol (IP) networks - contain the path MTU discovery (PMTUD) - mechanism to detect end-to-end MTU and adjust packet size - accordingly. However, some operating systems and networks block or - otherwise lack support for PMTUD causing performance degradation - or connectivity failure. - Ideally, you can prevent these problems by enabling - jumbo frames on the - physical network that contains your tenant virtual networks. - Jumbo frames support MTUs up to approximately 9000 bytes which - negates the impact of GRE overhead on virtual networks. However, - many network devices lack support for jumbo frames and OpenStack - administrators often lack control over network infrastructure. - Given the latter complications, you can also prevent MTU problems - by reducing the instance MTU to account for GRE overhead. - Determining the proper MTU value often takes experimentation, - but 1454 bytes works in most environments. You can configure the - DHCP server that assigns IP addresses to your instances to also - adjust the MTU. - - Some cloud images ignore the DHCP MTU option in which case - you should configure it using metadata, a script, or another suitable - method. - - - - Edit the /etc/neutron/dhcp_agent.ini - file and complete the following action: - - - In the [DEFAULT] section, enable the - dnsmasq configuration file: - [DEFAULT] -... -dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf - - - - - Create and edit the - /etc/neutron/dnsmasq-neutron.conf file and - complete the following action: - - - Enable the DHCP MTU option (26) and configure it to - 1454 bytes: - dhcp-option-force=26,1454 - - - - - Kill any existing - dnsmasq processes: - # pkill dnsmasq - - - - - - To configure the metadata agent - The metadata agent - provides configuration information such as credentials to - instances. - - Edit the /etc/neutron/metadata_agent.ini - file and complete the following actions: - - - In the [DEFAULT] section, configure - access parameters: - [DEFAULT] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_region = RegionOne -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = neutron -password = NEUTRON_PASS - Replace NEUTRON_PASS with the - password you chose for the neutron user in - the Identity service. - - - In the [DEFAULT] section, configure the - metadata host: - [DEFAULT] -... -nova_metadata_ip = controller - - - In the [DEFAULT] section, configure the - metadata proxy shared secret: - [DEFAULT] -... -metadata_proxy_shared_secret = METADATA_SECRET - Replace METADATA_SECRET with a - suitable secret for the metadata proxy. - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] - section: - [DEFAULT] -... -verbose = True - - - - - On the controller node, edit the - /etc/nova/nova.conf file and complete the - following action: - - - In the [neutron] section, enable the - metadata proxy and configure the secret: - [neutron] -... -service_metadata_proxy = True -metadata_proxy_shared_secret = METADATA_SECRET - Replace METADATA_SECRET with - the secret you chose for the metadata proxy. - - - - - On the controller node, restart the - Compute API service: - # systemctl restart openstack-nova-api.service - # service nova-api restart - - - - To configure the Open vSwitch (OVS) service - The OVS service provides the underlying virtual networking - framework for instances. The integration bridge - br-int handles internal instance network - traffic within OVS. The external bridge br-ex - handles external instance network traffic within OVS. The - external bridge requires a port on the physical external network - interface to provide instances with external network access. In - essence, this port connects the virtual and physical external - networks in your environment. - - Start the OVS service and configure it to start when the - system boots: - # systemctl enable openvswitch.service -# systemctl start openvswitch.service - - - Restart the OVS service: - # service openvswitch-switch restart - - - Add the external bridge: - # ovs-vsctl add-br br-ex - - - Add a port to the external bridge that connects to the - physical external network interface: - Replace INTERFACE_NAME with the - actual interface name. For example, eth2 - or ens256. - # ovs-vsctl add-port br-ex INTERFACE_NAME - - Depending on your network interface driver, you may need - to disable generic receive offload - (GRO) to achieve suitable throughput between - your instances and the external network. - To temporarily disable GRO on the external network - interface while testing your environment: - # ethtool -K INTERFACE_NAME gro off - - - - - To finalize the installation - - The Networking service initialization scripts expect a - symbolic link /etc/neutron/plugin.ini - pointing to the ML2 plug-in configuration file, - /etc/neutron/plugins/ml2/ml2_conf.ini. - If this symbolic link does not exist, create it using the - following command: - # ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini - Due to a packaging bug, the Open vSwitch agent initialization - script explicitly looks for the Open vSwitch plug-in configuration - file rather than a symbolic link - /etc/neutron/plugin.ini pointing to the ML2 - plug-in configuration file. Run the following commands to resolve this - issue: - # cp /usr/lib/systemd/system/neutron-openvswitch-agent.service \ - /usr/lib/systemd/system/neutron-openvswitch-agent.service.orig -# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' \ - /usr/lib/systemd/system/neutron-openvswitch-agent.service - - - The Networking service initialization scripts expect the - variable NEUTRON_PLUGIN_CONF in the - /etc/sysconfig/neutron file to - reference the ML2 plug-in configuration file. Edit the - /etc/sysconfig/neutron file and add the - following: - NEUTRON_PLUGIN_CONF="/etc/neutron/plugins/ml2/ml2_conf.ini" - - - Start the Networking services and configure them to start - when the system boots: - # systemctl enable neutron-openvswitch-agent.service neutron-l3-agent.service \ - neutron-dhcp-agent.service neutron-metadata-agent.service \ - neutron-ovs-cleanup.service -# systemctl start neutron-openvswitch-agent.service neutron-l3-agent.service \ - neutron-dhcp-agent.service neutron-metadata-agent.service - - Do not explicitly start the - neutron-ovs-cleanup - service. - - - - Start the Networking services and configure them to start - when the system boots: - # systemctl enable openstack-neutron-openvswitch-agent.service openstack-neutron-l3-agent.service \ - openstack-neutron-dhcp-agent.service openstack-neutron-metadata-agent.service \ - openstack-neutron-ovs-cleanup.service -# systemctl start openstack-neutron-openvswitch-agent.service openstack-neutron-l3-agent.service \ - openstack-neutron-dhcp-agent.service openstack-neutron-metadata-agent.service - - Do not explicitly start the - neutron-ovs-cleanup - service. - - - - Restart the Networking services: - # service neutron-plugin-openvswitch-agent restart -# service neutron-l3-agent restart -# service neutron-dhcp-agent restart -# service neutron-metadata-agent restart - - - - Verify operation - - Perform these commands on the controller node. - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - List agents to verify successful launch of the - neutron agents: - $ neutron agent-list -+--------------------------------------+--------------------+---------+-------+----------------+---------------------------+ -| id | agent_type | host | alive | admin_state_up | binary | -+--------------------------------------+--------------------+---------+-------+----------------+---------------------------+ -| 30275801-e17a-41e4-8f53-9db63544f689 | Metadata agent | network | :-) | True | neutron-metadata-agent | -| 4bd8c50e-7bad-4f3b-955d-67658a491a15 | Open vSwitch agent | network | :-) | True | neutron-openvswitch-agent | -| 756e5bba-b70f-4715-b80e-e37f59803d20 | L3 agent | network | :-) | True | neutron-l3-agent | -| 9c45473c-6d6d-4f94-8df1-ebd0b6838d5f | DHCP agent | network | :-) | True | neutron-dhcp-agent | -+--------------------------------------+--------------------+---------+-------+----------------+---------------------------+ - - -
    diff --git a/doc/install-guide/section_nova-compute-install.xml b/doc/install-guide/section_nova-compute-install.xml deleted file mode 100644 index 9ddfe85145..0000000000 --- a/doc/install-guide/section_nova-compute-install.xml +++ /dev/null @@ -1,244 +0,0 @@ - -
    - Install and configure a compute node - This section describes how to install and configure the Compute - service on a compute node. The service supports several - hypervisors to - deploy instances or - VMs. For simplicity, - this configuration uses the - QEMU hypervisor - with the - KVM extension - on compute nodes that support hardware acceleration for virtual machines. - On legacy hardware, this configuration uses the generic QEMU hypervisor. - You can follow these instructions with minor modifications to horizontally - scale your environment with additional compute nodes. - - This section assumes that you are following the instructions in - this guide step-by-step to configure the first compute node. If you - want to configure additional compute nodes, prepare them in a similar - fashion to the first compute node in the - example architectures - section using the same networking service as your existing - environment. For either networking service, follow the - NTP configuration and - OpenStack packages - instructions. For OpenStack Networking (neutron), also follow the - OpenStack - Networking compute node instructions. For legacy networking - (nova-network), also follow the - legacy networking compute node - instructions. Each additional compute node requires unique IP - addresses. - - - To install and configure the Compute hypervisor components - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Install the packages: - # apt-get install nova-compute sysfsutils - # yum install openstack-nova-compute sysfsutils - # zypper install openstack-nova-compute genisoimage kvm libvirt - - - Edit the /etc/nova/nova.conf file and - complete the following actions: - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the password - you chose for the openstack account in - RabbitMQ. - - - In the [DEFAULT] and - [keystone_authtoken] sections, - configure Identity service access: - [DEFAULT] -... -auth_strategy = keystone - -[keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = nova -password = NOVA_PASS - Replace NOVA_PASS with the password - you chose for the nova user in the Identity - service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [DEFAULT] section, configure the - my_ip option: - [DEFAULT] -... -my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS - Replace - MANAGEMENT_INTERFACE_IP_ADDRESS with - the IP address of the management network interface on your - compute node, typically 10.0.0.31 for the first node in the - example - architecture. - - - In the [DEFAULT] section, enable and - configure remote console access: - [DEFAULT] -... -vnc_enabled = True -vncserver_listen = 0.0.0.0 -vncserver_proxyclient_address = MANAGEMENT_INTERFACE_IP_ADDRESS -novncproxy_base_url = http://controller:6080/vnc_auto.html - The server component listens on all IP addresses and the proxy - component only listens on the management interface IP address of - the compute node. The base URL indicates the location where you - can use a web browser to access remote consoles of instances - on this compute node. - Replace - MANAGEMENT_INTERFACE_IP_ADDRESS with - the IP address of the management network interface on your - compute node, typically 10.0.0.31 for the first node in the - example - architecture. - - If the web browser to access remote consoles resides on a - host that cannot resolve the - controller hostname, you must replace - controller with the management - interface IP address of the controller node. - - - - In the [glance] section, configure the - location of the Image service: - [glance] -... -host = controller - - - In the [oslo_concurrency] section, - configure the lock path: - [oslo_concurrency] -... -lock_path = /var/run/nova - [oslo_concurrency] -... -lock_path = /var/lib/nova/tmp - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] section: - [DEFAULT] -... -verbose = True - - - - - - - Ensure the kernel module nbd is - loaded. - # modprobe nbd - - - Ensure the module will be loaded on every boot by - adding nbd in the - /etc/modules-load.d/nbd.conf - file. - - - - - - To install and configure the Compute hypervisor components - - Install the packages: - # apt-get install nova-compute - - - Respond to the prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message queue - credentials.. - - - - To finalize installation - - Determine whether your compute node supports hardware acceleration - for virtual machines: - $ egrep -c '(vmx|svm)' /proc/cpuinfo - If this command returns a value of - one or greater, your compute node supports - hardware acceleration which typically requires no additional - configuration. - If this command returns a value of zero, - your compute node does not support hardware acceleration and you must - configure libvirt to use QEMU instead of KVM. - - - Edit the [libvirt] - section in the - /etc/nova/nova-compute.conf - /etc/nova/nova.conf file as follows: - [libvirt] -... -virt_type = qemu - - - - - Restart the Compute service: - # service nova-compute restart - - - Start the Compute service including its dependencies and configure - them to start automatically when the system boots: - # systemctl enable libvirtd.service openstack-nova-compute.service -# systemctl start libvirtd.service openstack-nova-compute.service - - - By default, the Ubuntu packages create an SQLite database. - Because this configuration uses a SQL database server, you can - remove the SQLite database file: - # rm -f /var/lib/nova/nova.sqlite - - -
    diff --git a/doc/install-guide/section_nova-controller-install.xml b/doc/install-guide/section_nova-controller-install.xml deleted file mode 100644 index 8dda43722f..0000000000 --- a/doc/install-guide/section_nova-controller-install.xml +++ /dev/null @@ -1,300 +0,0 @@ - -
    - Install and configure controller node - This section describes how to install and configure the - Compute service, code-named nova, on the controller node. - - To configure prerequisites - Before you install and configure the Compute service, you must - create a database, service credentials, and API endpoint. - - To create the database, complete these steps: - - - Use the database access client to connect to - the database server as the - root user: - $ mysql -u root -p - - - Create the nova database: - CREATE DATABASE nova; - - - Grant proper access to the nova - database: - GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \ - IDENTIFIED BY 'NOVA_DBPASS'; -GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \ - IDENTIFIED BY 'NOVA_DBPASS'; - Replace - NOVA_DBPASS with a suitable - password. - - - Exit the database access client. - - - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - To create the service credentials, complete these steps: - - - Create the nova user: -$ openstack user create --password-prompt nova -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | 8e0b71d732db4bfba04943a96230c8c0 | -| name | nova | -| username | nova | -+----------+----------------------------------+ - - - Add the admin role to the - nova user: -$ openstack role add --project service --user nova admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the nova service entity: -$ openstack service create --name nova \ - --description "OpenStack Compute" compute -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | OpenStack Compute | -| enabled | True | -| id | 060d59eac51b4594815603d75a00aba2 | -| name | nova | -| type | compute | -+-------------+----------------------------------+ - - - - - Create the Compute service API endpoint: - $ openstack endpoint create \ - --publicurl http://controller:8774/v2/%\(tenant_id\)s \ - --internalurl http://controller:8774/v2/%\(tenant_id\)s \ - --adminurl http://controller:8774/v2/%\(tenant_id\)s \ - --region RegionOne \ - compute -+--------------+-----------------------------------------+ -| Field | Value | -+--------------+-----------------------------------------+ -| adminurl | http://controller:8774/v2/%(tenant_id)s | -| id | 4e885d4ad43f4c4fbf2287734bc58d6b | -| internalurl | http://controller:8774/v2/%(tenant_id)s | -| publicurl | http://controller:8774/v2/%(tenant_id)s | -| region | RegionOne | -| service_id | 060d59eac51b4594815603d75a00aba2 | -| service_name | nova | -| service_type | compute | -+--------------+-----------------------------------------+ - - - - To install and configure Compute controller components - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Install the packages: - # apt-get install nova-api nova-cert nova-conductor nova-consoleauth \ - nova-novncproxy nova-scheduler python-novaclient - # yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor \ - openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler \ - python-novaclient - # zypper install openstack-nova-api openstack-nova-scheduler openstack-nova-cert \ - openstack-nova-conductor openstack-nova-consoleauth openstack-nova-novncproxy \ - python-novaclient iptables - - - Edit the /etc/nova/nova.conf file and - complete the following actions: - - - Add a [database] section, and configure - database access: - [database] -... -connection = mysql://nova:NOVA_DBPASS@controller/nova - Replace NOVA_DBPASS with the - password you chose for the Compute database. - - - In the [DEFAULT] and - [oslo_messaging_rabbit] sections, configure - RabbitMQ message queue access: - [DEFAULT] -... -rpc_backend = rabbit - -[oslo_messaging_rabbit] -... -rabbit_host = controller -rabbit_userid = openstack -rabbit_password = RABBIT_PASS - Replace RABBIT_PASS with the - password you chose for the openstack account in - RabbitMQ. - - - In the [DEFAULT] and - [keystone_authtoken] sections, - configure Identity service access: - [DEFAULT] -... -auth_strategy = keystone - -[keystone_authtoken] -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = nova -password = NOVA_PASS - Replace NOVA_PASS with the password - you chose for the nova user in the Identity - service. - - Comment out or remove any other options in the - [keystone_authtoken] section. - - - - In the [DEFAULT] section, configure the - my_ip option to use the management interface IP - address of the controller node: - [DEFAULT] -... -my_ip = 10.0.0.11 - - - In the [DEFAULT] section, configure the - VNC proxy to use the management interface IP address of the - controller node: - [DEFAULT] -... -vncserver_listen = 10.0.0.11 -vncserver_proxyclient_address = 10.0.0.11 - - - In the [glance] section, configure the - location of the Image service: - [glance] -... -host = controller - - - In the [oslo_concurrency] section, - configure the lock path: - [oslo_concurrency] -... -lock_path = /var/lib/nova/tmp - [oslo_concurrency] -... -lock_path = /var/run/nova - - - (Optional) To assist with troubleshooting, - enable verbose logging in the [DEFAULT] section: - [DEFAULT] -... -verbose = True - - - - - Populate the Compute database: - # su -s /bin/sh -c "nova-manage db sync" nova - - - - To install and configure the Compute controller components - - Install the packages: - # apt-get install nova-api nova-cert nova-conductor nova-consoleauth \ - nova-novncproxy nova-scheduler python-novaclient - - - Respond to prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message queue - credentials. - - - Edit the /etc/nova/nova.conf file and - complete the following actions: - - - In the [DEFAULT] section, configure the VNC - proxy to use the management interface IP address of the controller - node: - [DEFAULT] -... -vncserver_listen = 10.0.0.11 -vncserver_proxyclient_address = 10.0.0.11 - - - - - - To finalize installation - - Restart the Compute services: - # service nova-api restart -# service nova-cert restart -# service nova-consoleauth restart -# service nova-scheduler restart -# service nova-conductor restart -# service nova-novncproxy restart - - - Start the Compute services and configure them to start when the - system boots: - # systemctl enable openstack-nova-api.service openstack-nova-cert.service \ - openstack-nova-consoleauth.service openstack-nova-scheduler.service \ - openstack-nova-conductor.service openstack-nova-novncproxy.service -# systemctl start openstack-nova-api.service openstack-nova-cert.service \ - openstack-nova-consoleauth.service openstack-nova-scheduler.service \ - openstack-nova-conductor.service openstack-nova-novncproxy.service - - - By default, the Ubuntu packages create an SQLite database. - Because this configuration uses a SQL database server, you can - remove the SQLite database file: - # rm -f /var/lib/nova/nova.sqlite - - -
    diff --git a/doc/install-guide/section_nova-networking-compute-node.xml b/doc/install-guide/section_nova-networking-compute-node.xml deleted file mode 100644 index c3e4f50ae7..0000000000 --- a/doc/install-guide/section_nova-networking-compute-node.xml +++ /dev/null @@ -1,65 +0,0 @@ - -
    - Configure compute node - This section covers deployment of a simple - flat network that provides IP addresses to your - instances via DHCP. If your environment includes - multiple compute nodes, the multi-host feature - provides redundancy by spreading network functions across compute - nodes. - - To install legacy networking components - - # apt-get install nova-network nova-api-metadata - # apt-get install nova-network nova-api - # yum install openstack-nova-network openstack-nova-api - # zypper install openstack-nova-network openstack-nova-api - - - - To configure legacy networking - - Edit the /etc/nova/nova.conf file and - complete the following actions: - - - In the [DEFAULT] section, configure - the network parameters: - [DEFAULT] -... -network_api_class = nova.network.api.API -security_group_api = nova -firewall_driver = nova.virt.libvirt.firewall.IptablesFirewallDriver -network_manager = nova.network.manager.FlatDHCPManager -network_size = 254 -allow_same_net_traffic = False -multi_host = True -send_arp_for_ha = True -share_dhcp_address = True -force_dhcp_release = True -flat_network_bridge = br100 -flat_interface = INTERFACE_NAME -public_interface = INTERFACE_NAME - Replace INTERFACE_NAME with the - actual interface name for the external network. For example, - eth1 or ens224. You can - also leave these two parameters undefined if you are serving multiple - networks with individual bridges for each. - - - - - Restart the services: - # service nova-network restart -# service nova-api-metadata restart - Start the services and - configure them to start when the system boots: - # systemctl enable openstack-nova-network.service openstack-nova-metadata-api.service -# systemctl start openstack-nova-network.service openstack-nova-metadata-api.service - - -
    diff --git a/doc/install-guide/section_nova-networking-controller-node.xml b/doc/install-guide/section_nova-networking-controller-node.xml deleted file mode 100644 index 22f8441dd6..0000000000 --- a/doc/install-guide/section_nova-networking-controller-node.xml +++ /dev/null @@ -1,36 +0,0 @@ - -
    - Configure controller node - Legacy networking primarily involves compute nodes. However, - you must configure the controller node to use legacy - networking. - - To configure legacy networking - - Edit the /etc/nova/nova.conf file and - complete the following actions: - - - In the [DEFAULT] section, configure - the network and security group APIs: - [DEFAULT] -... -network_api_class = nova.network.api.API -security_group_api = nova - - - - - Restart the Compute services: - # systemctl restart openstack-nova-api.service openstack-nova-scheduler.service \ - openstack-nova-conductor.service - # service nova-api restart -# service nova-scheduler restart -# service nova-conductor restart - - -
    diff --git a/doc/install-guide/section_nova-networking-initial-network.xml b/doc/install-guide/section_nova-networking-initial-network.xml deleted file mode 100644 index ab18140454..0000000000 --- a/doc/install-guide/section_nova-networking-initial-network.xml +++ /dev/null @@ -1,57 +0,0 @@ - -
    - Create initial network - Before launching your first instance, you must create the necessary - virtual network infrastructure to which the instance will connect. - This network typically provides Internet access - from instances. You can enable Internet access - to individual instances using a - floating IP address and suitable - security group rules. The admin - tenant owns this network because it provides external network access - for multiple tenants. - This network shares the same subnet - associated with the physical network connected to the external - interface on the compute node. You should specify - an exclusive slice of this subnet to prevent interference with other - devices on the external network. - - Perform these commands on the controller node. - - - To create the network - - Source the admin tenant credentials: - $ source admin-openrc.sh - - - Create the network: - Replace NETWORK_CIDR with the subnet - associated with the physical network. - $ nova network-create demo-net --bridge br100 --multi-host T \ - --fixed-range-v4 NETWORK_CIDR - For example, using an exclusive slice of - 203.0.113.0/24 with IP address range - 203.0.113.24 to 203.0.113.31: - - $ nova network-create demo-net --bridge br100 --multi-host T \ - --fixed-range-v4 203.0.113.24/29 - - This command provides no output. - - - - Verify creation of the network: - $ nova net-list -+--------------------------------------+----------+------------------+ -| ID | Label | CIDR | -+--------------------------------------+----------+------------------+ -| 84b34a65-a762-44d6-8b5e-3b461a53f513 | demo-net | 203.0.113.24/29 | -+--------------------------------------+----------+------------------+ - - -
    diff --git a/doc/install-guide/section_nova-verify.xml b/doc/install-guide/section_nova-verify.xml deleted file mode 100644 index b32fd23313..0000000000 --- a/doc/install-guide/section_nova-verify.xml +++ /dev/null @@ -1,136 +0,0 @@ - -
    - Verify operation - Verify operation of the Compute service. - - - Perform these commands on the controller node. - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - List service components to verify successful launch and - registration of each process: - $ nova service-list -+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+ -| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | -+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+ -| 1 | nova-conductor | controller | internal | enabled | up | 2014-09-16T23:54:02.000000 | - | -| 2 | nova-consoleauth | controller | internal | enabled | up | 2014-09-16T23:54:04.000000 | - | -| 3 | nova-scheduler | controller | internal | enabled | up | 2014-09-16T23:54:07.000000 | - | -| 4 | nova-cert | controller | internal | enabled | up | 2014-09-16T23:54:00.000000 | - | -| 5 | nova-compute | compute1 | nova | enabled | up | 2014-09-16T23:54:06.000000 | - | -+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+ - - This output should indicate four service components enabled on - the controller node and one service component enabled on the - compute node. - - - - List API endpoints in the Identity service to verify connectivity - with the Identity service: - $ nova endpoints -+-----------+------------------------------------------------------------+ -| nova | Value | -+-----------+------------------------------------------------------------+ -| id | 1fb997666b79463fb68db4ccfe4e6a71 | -| interface | public | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:8774/v2/ae7a98326b9c455588edd2656d723b9d | -+-----------+------------------------------------------------------------+ -+-----------+------------------------------------------------------------+ -| nova | Value | -+-----------+------------------------------------------------------------+ -| id | bac365db1ff34f08a31d4ae98b056924 | -| interface | admin | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:8774/v2/ae7a98326b9c455588edd2656d723b9d | -+-----------+------------------------------------------------------------+ -+-----------+------------------------------------------------------------+ -| nova | Value | -+-----------+------------------------------------------------------------+ -| id | e37186d38b8e4b81a54de34e73b43f34 | -| interface | internal | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:8774/v2/ae7a98326b9c455588edd2656d723b9d | -+-----------+------------------------------------------------------------+ - -+-----------+----------------------------------+ -| glance | Value | -+-----------+----------------------------------+ -| id | 41ad39f6c6444b7d8fd8318c18ae0043 | -| interface | admin | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:9292 | -+-----------+----------------------------------+ -+-----------+----------------------------------+ -| glance | Value | -+-----------+----------------------------------+ -| id | 50ecc4ce62724e319f4fae3861e50f7d | -| interface | internal | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:9292 | -+-----------+----------------------------------+ -+-----------+----------------------------------+ -| glance | Value | -+-----------+----------------------------------+ -| id | 7d3df077a20b4461a372269f603b7516 | -| interface | public | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:9292 | -+-----------+----------------------------------+ - -+-----------+----------------------------------+ -| keystone | Value | -+-----------+----------------------------------+ -| id | 88150c2fdc9d406c9b25113701248192 | -| interface | internal | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:5000/v2.0 | -+-----------+----------------------------------+ -+-----------+----------------------------------+ -| keystone | Value | -+-----------+----------------------------------+ -| id | cecab58c0f024d95b36a4ffa3e8d81e1 | -| interface | public | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:5000/v2.0 | -+-----------+----------------------------------+ -+-----------+----------------------------------+ -| keystone | Value | -+-----------+----------------------------------+ -| id | fc90391ae7cd4216aca070042654e424 | -| interface | admin | -| region | RegionOne | -| region_id | RegionOne | -| url | http://controller:35357/v2.0 | -+-----------+----------------------------------+ - - - List images in the Image service catalog to verify connectivity - with the Image service: - $ nova image-list -+--------------------------------------+---------------------+--------+--------+ -| ID | Name | Status | Server | -+--------------------------------------+---------------------+--------+--------+ -| 38047887-61a7-41ea-9b49-27987d5e8bb9 | cirros-0.3.4-x86_64 | ACTIVE | | -+--------------------------------------+---------------------+--------+--------+ - - -
    diff --git a/doc/install-guide/section_sahara-install.xml b/doc/install-guide/section_sahara-install.xml deleted file mode 100644 index 064e33be13..0000000000 --- a/doc/install-guide/section_sahara-install.xml +++ /dev/null @@ -1,207 +0,0 @@ - -
    - Install the Data processing service - This procedure installs the Data processing service (sahara) on the - controller node. - To install the Data processing service on the controller: - - - Install the required packages: - # yum install openstack-sahara python-saharaclient - # zypper install openstack-sahara python-saharaclient - - - Install the packages: - # apt-get install sahara python-saharaclient - - - Respond to prompts for - database management, - Identity service - credentials, - service endpoint - registration, and - message broker - credentials. - - - You need to install the required packages. For now, sahara - doesn't have packages for Ubuntu. - Documentation will be updated once the packages are available. The rest - of this document assumes that you have the sahara service packages - installed on the system. - - - Edit /etc/sahara/sahara.conf configuration file - - First, edit option in - the [database] section. The URL provided here - should point to an empty database. For instance, connection - string for MySQL database will be: - connection = mysql://sahara:SAHARA_DBPASS@controller/sahara - - Switch to the [keystone_authtoken] - section. The option should point to - the public Identity API endpoint. - should point to the admin Identity API endpoint. For example: - auth_uri = http://controller:5000/v2.0 -identity_uri = http://controller:35357 - - Next specify admin_user, - admin_password and - admin_tenant_name. These parameters must specify - a keystone user which has the admin role in the - given tenant. These credentials allow sahara to authenticate and - authorize its users. - - Switch to the [DEFAULT] section. - Proceed to the networking parameters. If you are using Neutron - for networking, then set use_neutron=true. - Otherwise if you are using nova-network set - the given parameter to false. - - That should be enough for the first run. If you want to - increase logging level for troubleshooting, there are two parameters - in the config: verbose and - debug. If the former is set to - true, sahara will - start to write logs of INFO level and above. If - debug is set to - true, sahara will write all the logs, including - the DEBUG ones. - - - - - If you use the Data processing service with a MySQL or MariaDB - database, you must configure the maximum number of allowed packets for - storing big job binaries in the service internal database. - - - Edit the - /etc/mysql/my.cnf - /etc/my.cnf - file and change the max_allowed_packet - option: - [mysqld] -max_allowed_packet = 256M - - - Restart the database service: - # service mysql restart - # systemctl restart mariadb.service - - - - - To create the database, complete these steps: - - - Use the database access client to connect to the database server as the root user: - $ mysql -u root -p - - - Create the sahara database: - CREATE DATABASE sahara; - - - Grant proper access to the sahara database: - GRANT ALL PRIVILEGES ON sahara.* TO 'sahara'@'localhost' \ IDENTIFIED BY ' SAHARA_DBPASS'; - GRANT ALL PRIVILEGES ON sahara.* TO 'sahara'@'%' \ IDENTIFIED BY 'SAHARA_DBPASS'; - Replace SAHARA_DBPASS with a suitable password. - - - Exit the database access client. - - - - - Create database schema: - # sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head - - - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - - To create the service credentials, complete these steps: - - - Create the sahara user: - $ openstack user create --password-prompt sahara -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | 92fbc405a237420fbc92e9bbd697b8c8 | -| name | sahara | -| username | sahara | -+----------+----------------------------------+ - - - Add the admin role to the - sahara user: - $ openstack role add --project service --user sahara admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the sahara service entity: - $ openstack service create --name sahara \ - --description "Data processing service" data_processing -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | Data processing service | -| enabled | True | -| id | 6e867d0a062e4c1fb1c335b74ab7a8f4 | -| name | sahara | -| type | data_processing | -+-------------+----------------------------------+ - - - - - Create the Data processing service API endpoint: - $ openstack endpoint create \ - --publicurl http://controller:8386/v1.1/%\(tenant_id\)s \ - --internalurl http://controller:8386/v1.1/%\(tenant_id\)s \ - --adminurl http://controller:8386/v1.1/%\(tenant_id\)s \ - --region RegionOne \ - data_processing -+--------------+-------------------------------------------+ -| Field | Value | -+--------------+-------------------------------------------+ -| adminurl | http://controller:8386/v1.1/%(tenant_id)s | -| id | dbb754f069c949e19fc40171112bfc01 | -| internalurl | http://controller:8386/v1.1/%(tenant_id)s | -| publicurl | http://controller:8386/v1.1/%(tenant_id)s | -| region | RegionOne | -| service_id | 6e867d0a062e4c1fb1c335b74ab7a8f4 | -| service_name | sahara | -| service_type | data_processing | -+--------------+-------------------------------------------+ - - - Start the Data processing service and configure it to - start when the system boots: - # systemctl enable openstack-sahara-all.service -# systemctl start openstack-sahara-all.service - - -
    diff --git a/doc/install-guide/section_sahara-verify.xml b/doc/install-guide/section_sahara-verify.xml deleted file mode 100644 index e7c72c3b87..0000000000 --- a/doc/install-guide/section_sahara-verify.xml +++ /dev/null @@ -1,26 +0,0 @@ - -
    - Verify the Data processing service installation - To verify the Data processing service (sahara) is installed and - configured correctly, try requesting the clusters list using the sahara - client. - - - Source the demo tenant credentials: - $ source demo-openrc.sh - - - Retrieve the sahara clusters list: - $ sahara cluster-list - You should see output similar to this: - +------+----+--------+------------+ -| name | id | status | node_count | -+------+----+--------+------------+ -+------+----+--------+------------+ - - -
    diff --git a/doc/install-guide/section_swift-controller-node.xml b/doc/install-guide/section_swift-controller-node.xml deleted file mode 100644 index 667ff32dcd..0000000000 --- a/doc/install-guide/section_swift-controller-node.xml +++ /dev/null @@ -1,210 +0,0 @@ - -
    - Install and configure the controller node - This section describes how to install and configure the proxy - service that handles requests for the account, container, and object - services operating on the storage nodes. For simplicity, this - guide installs and configures the proxy service on the controller node. - However, you can run the proxy service on any node with network - connectivity to the storage nodes. Additionally, you can install and - configure the proxy service on multiple nodes to increase performance - and redundancy. For more information, see the - Deployment Guide. - - To configure prerequisites - The proxy service relies on an authentication and authorization - mechanism such as the Identity service. However, unlike other services, - it also offers an internal mechanism that allows it to operate without - any other OpenStack services. However, for simplicity, this guide - references the Identity service in . Before - you configure the Object Storage service, you must create service - credentials and an API endpoint. - - The Object Storage service does not use a SQL database on - the controller node. Instead, it uses distributed SQLite databases - on each storage node. - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - - To create the Identity service credentials, complete these - steps: - - - Create the swift user: - $ openstack user create --password-prompt swift -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | d535e5cbd2b74ac7bfb97db9cced3ed6 | -| name | swift | -| username | swift | -+----------+----------------------------------+ - - - Add the admin role to the - swift user: - $ openstack role add --project service --user swift admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the swift service entity: - $ openstack service create --name swift \ - --description "OpenStack Object Storage" object-store -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | OpenStack Object Storage | -| enabled | True | -| id | 75ef509da2c340499d454ae96a2c5c34 | -| name | swift | -| type | object-store | -+-------------+----------------------------------+ - - - - - Create the Object Storage service API endpoint: - $ openstack endpoint create \ - --publicurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' \ - --internalurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' \ - --adminurl http://controller:8080 \ - --region RegionOne \ - object-store -+--------------+----------------------------------------------+ -| Field | Value | -+--------------+----------------------------------------------+ -| adminurl | http://controller:8080/ | -| id | af534fb8b7ff40a6acf725437c586ebe | -| internalurl | http://controller:8080/v1/AUTH_%(tenant_id)s | -| publicurl | http://controller:8080/v1/AUTH_%(tenant_id)s | -| region | RegionOne | -| service_id | 75ef509da2c340499d454ae96a2c5c34 | -| service_name | swift | -| service_type | object-store | -+--------------+----------------------------------------------+ - - - - To install and configure the controller node components - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Install the packages: - - Complete OpenStack environments already include some of these - packages. - - # apt-get install swift swift-proxy python-swiftclient python-keystoneclient \ - python-keystonemiddleware memcached - # yum install openstack-swift-proxy python-swiftclient python-keystone-auth-token \ - python-keystonemiddleware memcached - # zypper install openstack-swift-proxy python-swiftclient python-keystoneclient \ - python-keystonemiddleware python-xml memcached - - - Create the /etc/swift directory. - - - Obtain the proxy service configuration file from the Object - Storage source repository: - # curl -o /etc/swift/proxy-server.conf \ - https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/kilo - - - Edit the /etc/swift/proxy-server.conf - file and complete the following actions: - - - In the [DEFAULT] section, configure - the bind port, user, and configuration directory: - [DEFAULT] -... -bind_port = 8080 -user = swift -swift_dir = /etc/swift - - - In the [pipeline:main] section, enable - the appropriate modules: - [pipeline:main] -pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo proxy-logging proxy-server - - For more information on other modules that enable - additional features, see the - Deployment Guide. - - - - In the [app:proxy-server] section, enable - automatic account creation: - [app:proxy-server] -... -account_autocreate = true - - - In the [filter:keystoneauth] section, - configure the operator roles: - [filter:keystoneauth] -use = egg:swift#keystoneauth -... -operator_roles = admin,user - - - In the [filter:authtoken] section, - configure Identity service access: - [filter:authtoken] -paste.filter_factory = keystonemiddleware.auth_token:filter_factory -... -auth_uri = http://controller:5000 -auth_url = http://controller:35357 -auth_plugin = password -project_domain_id = default -user_domain_id = default -project_name = service -username = swift -password = SWIFT_PASS -delay_auth_decision = true - Replace SWIFT_PASS with the - password you chose for the swift user in the - Identity service. - - Comment out or remove any other options in the - [filter:authtoken] section. - - - - In the [filter:cache] section, configure - the memcached location: - [filter:cache] -... -memcache_servers = 127.0.0.1:11211 - - - - -
    diff --git a/doc/install-guide/section_swift-finalize-installation.xml b/doc/install-guide/section_swift-finalize-installation.xml deleted file mode 100644 index 16fbb36b11..0000000000 --- a/doc/install-guide/section_swift-finalize-installation.xml +++ /dev/null @@ -1,103 +0,0 @@ - -
    - Finalize installation - - Configure hashes and default storage policy - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Obtain the /etc/swift/swift.conf file from - the Object Storage source repository: - # curl -o /etc/swift/swift.conf \ - https://git.openstack.org/cgit/openstack/swift/plain/etc/swift.conf-sample?h=stable/kilo - - - Edit the /etc/swift/swift.conf file and - complete the following actions: - - - In the [swift-hash] section, configure - the hash path prefix and suffix for your environment. - [swift-hash] -... -swift_hash_path_suffix = HASH_PATH_PREFIX -swift_hash_path_prefix = HASH_PATH_SUFFIX - Replace HASH_PATH_PREFIX and - HASH_PATH_SUFFIX with unique - values. - - Keep these values secret and do not change or lose - them. - - - - In the [storage-policy:0] section, - configure the default storage policy: - [storage-policy:0] -... -name = Policy-0 -default = yes - - - - - Copy the swift.conf file to - the /etc/swift directory on each storage node - and any additional nodes running the proxy service. - - - On all nodes, ensure proper ownership of the configuration - directory: - # chown -R swift:swift /etc/swift - - - On the controller node and any other nodes running the proxy - service, restart the Object Storage proxy service including - its dependencies: - # service memcached restart -# service swift-proxy restart - - - On the controller node and any other nodes running the proxy - service, start the Object Storage proxy service including its - dependencies and configure them to start when the system boots: - # systemctl enable openstack-swift-proxy.service memcached.service -# systemctl start openstack-swift-proxy.service memcached.service - - - On the storage nodes, start the Object Storage services: - # swift-init all start - - The storage node runs many Object Storage services and the - swift-init command makes them easier to - manage. You can ignore errors from services not running on the - storage node. - - - - On the storage nodes, start the Object Storage services and - configure them to start when the system boots: - # systemctl enable openstack-swift-account.service openstack-swift-account-auditor.service \ - openstack-swift-account-reaper.service openstack-swift-account-replicator.service -# systemctl start openstack-swift-account.service openstack-swift-account-auditor.service \ - openstack-swift-account-reaper.service openstack-swift-account-replicator.service -# systemctl enable openstack-swift-container.service openstack-swift-container-auditor.service \ - openstack-swift-container-replicator.service openstack-swift-container-updater.service -# systemctl start openstack-swift-container.service openstack-swift-container-auditor.service \ - openstack-swift-container-replicator.service openstack-swift-container-updater.service -# systemctl enable openstack-swift-object.service openstack-swift-object-auditor.service \ - openstack-swift-object-replicator.service openstack-swift-object-updater.service -# systemctl start openstack-swift-object.service openstack-swift-object-auditor.service \ - openstack-swift-object-replicator.service openstack-swift-object-updater.service - - -
    diff --git a/doc/install-guide/section_swift-initial-rings.xml b/doc/install-guide/section_swift-initial-rings.xml deleted file mode 100644 index 32848fea56..0000000000 --- a/doc/install-guide/section_swift-initial-rings.xml +++ /dev/null @@ -1,234 +0,0 @@ - -
    - Create initial rings - Before starting the Object Storage services, you must create - the initial account, container, and object rings. The ring builder - creates configuration files that each node uses to determine and - deploy the storage architecture. For simplicity, this guide uses one - region and zone with 2^10 (1024) maximum partitions, 3 replicas of each - object, and 1 hour minimum time between moving a partition more than - once. For Object Storage, a partition indicates a directory on a storage - device rather than a conventional partition table. For more information, - see the - Deployment Guide. -
    - Account ring - The account server uses the account ring to maintain lists - of containers. - - To create the ring - - Perform these steps on the controller node. - - - Change to the /etc/swift directory. - - - Create the base account.builder file: - # swift-ring-builder account.builder create 10 3 1 - - This command provides no output. - - - - Add each storage node to the ring: -# swift-ring-builder account.builder \ -add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6002 \ ---device DEVICE_NAME --weight DEVICE_WEIGHT - Replace - STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS - with the IP address of the management network on the storage node. - Replace DEVICE_NAME with a storage - device name on the same storage node. For example, using the first - storage node in - with the - /dev/sdb1 storage device and weight of 100: -# swift-ring-builder account.builder add \ ---region 1 --zone 1 --ip 10.0.0.51 --port 6002 --device sdb1 --weight 100 - Repeat this command for each storage device on each storage - node. In the example architecture, use the command in four variations: -# swift-ring-builder account.builder add \ ---region 1 --zone 1 --ip 10.0.0.51 --port 6002 --device sdb1 --weight 100 -Device d0r1z1-10.0.0.51:6002R10.0.0.51:6002/sdb1_"" with 100.0 weight got id 0 -# swift-ring-builder account.builder add \ ---region 1 --zone 2 --ip 10.0.0.51 --port 6002 --device sdc1 --weight 100 -Device d1r1z2-10.0.0.51:6002R10.0.0.51:6002/sdc1_"" with 100.0 weight got id 1 -# swift-ring-builder account.builder add \ ---region 1 --zone 3 --ip 10.0.0.52 --port 6002 --device sdb1 --weight 100 -Device d2r1z3-10.0.0.52:6002R10.0.0.52:6002/sdb1_"" with 100.0 weight got id 2 -# swift-ring-builder account.builder add \ ---region 1 --zone 4 --ip 10.0.0.52 --port 6002 --device sdc1 --weight 100 -Device d3r1z4-10.0.0.52:6002R10.0.0.52:6002/sdc1_"" with 100.0 weight got id 3 - - - Verify the ring contents: - # swift-ring-builder account.builder -account.builder, build version 4 -1024 partitions, 3.000000 replicas, 1 regions, 4 zones, 4 devices, 100.00 balance, 0.00 dispersion -The minimum number of hours before a partition can be reassigned is 1 -The overload factor is 0.00% (0.000000) -Devices: id region zone ip address port replication ip replication port name weight partitions balance meta - 0 1 1 10.0.0.51 6002 10.0.0.51 6002 sdb1 100.00 0 -100.00 - 1 1 2 10.0.0.51 6002 10.0.0.51 6002 sdc1 100.00 0 -100.00 - 2 1 3 10.0.0.52 6002 10.0.0.52 6002 sdb1 100.00 0 -100.00 - 3 1 4 10.0.0.52 6002 10.0.0.52 6002 sdc1 100.00 0 -100.00 - - - Rebalance the ring: - # swift-ring-builder account.builder rebalance -Reassigned 1024 (100.00%) partitions. Balance is now 0.00. Dispersion is now 0.00 - - -
    -
    - Container ring - The container server uses the container ring to maintain lists - of objects. However, it does not track object locations. - - To create the ring - - Perform these steps on the controller node. - - - Change to the /etc/swift directory. - - - Create the base container.builder - file: - # swift-ring-builder container.builder create 10 3 1 - - This command provides no output. - - - - Add each storage node to the ring: -# swift-ring-builder container.builder \ -add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6001 \ ---device DEVICE_NAME --weight DEVICE_WEIGHT - Replace - STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS - with the IP address of the management network on the storage node. - Replace DEVICE_NAME with a storage - device name on the same storage node. For example, using the first - storage node in - with the - /dev/sdb1 storage device and weight of 100: -# swift-ring-builder container.builder add \ ---region 1 --zone 1 --ip 10.0.0.51 --port 6001 --device sdb1 --weight 100 - Repeat this command for each storage device on each storage - node. In the example architecture, use the command in four variations: -# swift-ring-builder container.builder add \ ---region 1 --zone 1 --ip 10.0.0.51 --port 6001 --device sdb1 --weight 100 -Device d0r1z1-10.0.0.51:6001R10.0.0.51:6001/sdb1_"" with 100.0 weight got id 0 -# swift-ring-builder container.builder add \ ---region 1 --zone 2 --ip 10.0.0.51 --port 6001 --device sdc1 --weight 100 -Device d1r1z2-10.0.0.51:6001R10.0.0.51:6001/sdc1_"" with 100.0 weight got id 1 -# swift-ring-builder container.builder add \ ---region 1 --zone 3 --ip 10.0.0.52 --port 6001 --device sdb1 --weight 100 -Device d2r1z3-10.0.0.52:6001R10.0.0.52:6001/sdb1_"" with 100.0 weight got id 2 -# swift-ring-builder container.builder add \ ---region 1 --zone 4 --ip 10.0.0.52 --port 6001 --device sdc1 --weight 100 -Device d3r1z4-10.0.0.52:6001R10.0.0.52:6001/sdc1_"" with 100.0 weight got id 3 - - - Verify the ring contents: - # swift-ring-builder container.builder -container.builder, build version 4 -1024 partitions, 3.000000 replicas, 1 regions, 4 zones, 4 devices, 100.00 balance, 0.00 dispersion -The minimum number of hours before a partition can be reassigned is 1 -The overload factor is 0.00% (0.000000) -Devices: id region zone ip address port replication ip replication port name weight partitions balance meta - 0 1 1 10.0.0.51 6001 10.0.0.51 6001 sdb1 100.00 0 -100.00 - 1 1 2 10.0.0.51 6001 10.0.0.51 6001 sdc1 100.00 0 -100.00 - 2 1 3 10.0.0.52 6001 10.0.0.52 6001 sdb1 100.00 0 -100.00 - 3 1 4 10.0.0.52 6001 10.0.0.52 6001 sdc1 100.00 0 -100.00 - - - Rebalance the ring: - # swift-ring-builder container.builder rebalance -Reassigned 1024 (100.00%) partitions. Balance is now 0.00. Dispersion is now 0.00 - - -
    -
    - Object ring - The object server uses the object ring to maintain lists - of object locations on local devices. - - To create the ring - - Perform these steps on the controller node. - - - Change to the /etc/swift directory. - - - Create the base object.builder file: - # swift-ring-builder object.builder create 10 3 1 - - This command provides no output. - - - - Add each storage node to the ring: -# swift-ring-builder object.builder \ -add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6000 / ---device DEVICE_NAME --weight DEVICE_WEIGHT - Replace - STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS - with the IP address of the management network on the storage node. - Replace DEVICE_NAME with a storage - device name on the same storage node. For example, using the first - storage node in - with the - /dev/sdb1 storage device and weight of 100: - # swift-ring-builder object.builder add r1z1-10.0.0.51:6000/sdb1 100 - Repeat this command for each storage device on each storage - node. In the example architecture, use the command in four variations: -# swift-ring-builder object.builder add \ ---region 1 --zone 1 --ip 10.0.0.51 --port 6000 --device sdb1 --weight 100 -Device d0r1z1-10.0.0.51:6000R10.0.0.51:6000/sdb1_"" with 100.0 weight got id 0 -# swift-ring-builder object.builder add \ ---region 1 --zone 2 --ip 10.0.0.51 --port 6000 --device sdc1 --weight 100 -Device d1r1z2-10.0.0.51:6000R10.0.0.51:6000/sdc1_"" with 100.0 weight got id 1 -# swift-ring-builder object.builder add \ ---region 1 --zone 3 --ip 10.0.0.52 --port 6000 --device sdb1 --weight 100 -Device d2r1z3-10.0.0.52:6000R10.0.0.52:6000/sdb1_"" with 100.0 weight got id 2 -# swift-ring-builder object.builder add \ ---region 1 --zone 4 --ip 10.0.0.52 --port 6000 --device sdc1 --weight 100 -Device d3r1z4-10.0.0.52:6000R10.0.0.52:6000/sdc1_"" with 100.0 weight got id 3 - - - Verify the ring contents: - # swift-ring-builder object.builder -object.builder, build version 4 -1024 partitions, 3.000000 replicas, 1 regions, 4 zones, 4 devices, 100.00 balance, 0.00 dispersion -The minimum number of hours before a partition can be reassigned is 1 -The overload factor is 0.00% (0.000000) -Devices: id region zone ip address port replication ip replication port name weight partitions balance meta - 0 1 1 10.0.0.51 6000 10.0.0.51 6000 sdb1 100.00 0 -100.00 - 1 1 2 10.0.0.51 6000 10.0.0.51 6000 sdc1 100.00 0 -100.00 - 2 1 3 10.0.0.52 6000 10.0.0.52 6000 sdb1 100.00 0 -100.00 - 3 1 4 10.0.0.52 6000 10.0.0.52 6000 sdc1 100.00 0 -100.00 - - - Rebalance the ring: - # swift-ring-builder object.builder rebalance -Reassigned 1024 (100.00%) partitions. Balance is now 0.00. Dispersion is now 0.00 - - -
    -
    - Distribute ring configuration files - Copy the account.ring.gz, - container.ring.gz, and - object.ring.gz files to the - /etc/swift directory on each storage node and - any additional nodes running the proxy service. -
    -
    diff --git a/doc/install-guide/section_swift-storage-node.xml b/doc/install-guide/section_swift-storage-node.xml deleted file mode 100644 index 6ff8d10135..0000000000 --- a/doc/install-guide/section_swift-storage-node.xml +++ /dev/null @@ -1,335 +0,0 @@ - -
    - Install and configure the storage nodes - This section describes how to install and configure storage nodes - that operate the account, container, and object services. For - simplicity, this configuration references two storage nodes, each - containing two empty local block storage devices. Each of the - devices, /dev/sdb and /dev/sdc, - must contain a suitable partition table with one partition occupying - the entire device. Although the Object Storage service supports any - file system with extended attributes (xattr), - testing and benchmarking indicate the best performance and reliability - on XFS. For more information on horizontally - scaling your environment, see the - Deployment Guide. - - To configure prerequisites - You must configure each storage node before you install and - configure the Object Storage service on it. Similar to the controller - node, each storage node contains one network interface on the - management network. Optionally, each storage - node can contain a second network interface on a separate network for - replication. For more information, see - . - - Configure unique items on the first storage node: - - - Configure the management interface: - IP address: 10.0.0.51 - Network mask: 255.255.255.0 (or /24) - Default gateway: 10.0.0.1 - - - Set the hostname of the node to - object1. - - - - - Configure unique items on the second storage node: - - - Configure the management interface: - IP address: 10.0.0.52 - Network mask: 255.255.255.0 (or /24) - Default gateway: 10.0.0.1 - - - Set the hostname of the node to - object2. - - - - - Configure shared items on both storage nodes: - - - Copy the contents of the /etc/hosts file - from the controller node and add the following to it: - # object1 -10.0.0.51 object1 - -# object2 -10.0.0.52 object2 - Also add this content to the /etc/hosts - file on all other nodes in your environment. - - - Install and configure - NTP - using the instructions in - . - - - Install the supporting utility packages: - # apt-get install xfsprogs rsync - # yum install xfsprogs rsync - # zypper install xfsprogs rsync - - - Format the /dev/sdb1 and - /dev/sdc1 partitions as XFS: - # mkfs.xfs /dev/sdb1 -# mkfs.xfs /dev/sdc1 - - - Create the mount point directory structure: - # mkdir -p /srv/node/sdb1 -# mkdir -p /srv/node/sdc1 - - - Edit the /etc/fstab file and add the - following to it: - /dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2 -/dev/sdc1 /srv/node/sdc1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2 - - - Mount the devices: - # mount /srv/node/sdb1 -# mount /srv/node/sdc1 - - - - - Edit the /etc/rsyncd.conf file and add the - following to it: - uid = swift -gid = swift -log file = /var/log/rsyncd.log -pid file = /var/run/rsyncd.pid -address = MANAGEMENT_INTERFACE_IP_ADDRESS - -[account] -max connections = 2 -path = /srv/node/ -read only = false -lock file = /var/lock/account.lock - -[container] -max connections = 2 -path = /srv/node/ -read only = false -lock file = /var/lock/container.lock - -[object] -max connections = 2 -path = /srv/node/ -read only = false -lock file = /var/lock/object.lock - Replace MANAGEMENT_INTERFACE_IP_ADDRESS - with the IP address of the management network on the storage - node. - - The rsync service - requires no authentication, so consider running it on a private - network. - - - - Edit the /etc/default/rsync file and enable - the rsync service: - RSYNC_ENABLE=true - - - Start the rsync - service: - # service rsync start - - - Start the rsyncd service - and configure it to start when the system boots: - # systemctl enable rsyncd.service -# systemctl start rsyncd.service - - - - Install and configure storage node components - - Default configuration files vary by distribution. You might need - to add these sections and options rather than modifying existing - sections and options. Also, an ellipsis (...) in the configuration - snippets indicates potential default configuration options that you - should retain. - - - Perform these steps on each storage node. - - - Install the packages: - # apt-get install swift swift-account swift-container swift-object - # yum install openstack-swift-account openstack-swift-container \ - openstack-swift-object - # zypper install openstack-swift-account openstack-swift-container \ - openstack-swift-object python-xml - - - Obtain the accounting, container, object, container-reconciler, and object-expirer - service configuration files from the Object Storage source repository: - # curl -o /etc/swift/account-server.conf \ - https://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/kilo - # curl -o /etc/swift/container-server.conf \ - https://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/kilo - # curl -o /etc/swift/object-server.conf \ - https://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/kilo - # curl -o /etc/swift/container-reconciler.conf \ - https://git.openstack.org/cgit/openstack/swift/plain/etc/container-reconciler.conf-sample?h=stable/kilo - # curl -o /etc/swift/object-expirer.conf \ - https://git.openstack.org/cgit/openstack/swift/plain/etc/object-expirer.conf-sample?h=stable/kilo - - - Edit the - /etc/swift/account-server.conf file and - complete the following actions: - - - In the [DEFAULT] section, configure the - bind IP address, bind port, user, configuration directory, and - mount point directory: - [DEFAULT] -... -bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS -bind_port = 6002 -user = swift -swift_dir = /etc/swift -devices = /srv/node - Replace - MANAGEMENT_INTERFACE_IP_ADDRESS - with the IP address of the management network on the storage - node. - - - In the [pipeline:main] section, enable - the appropriate modules: - [pipeline:main] -pipeline = healthcheck recon account-server - - For more information on other modules that enable - additional features, see the - Deployment Guide. - - - - In the [filter:recon] section, configure - the recon (meters) cache directory: - [filter:recon] -... -recon_cache_path = /var/cache/swift - - - - - Edit the - /etc/swift/container-server.conf file and - complete the following actions: - - - In the [DEFAULT] section, configure the - bind IP address, bind port, user, configuration directory, and - mount point directory: - [DEFAULT] -... -bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS -bind_port = 6001 -user = swift -swift_dir = /etc/swift -devices = /srv/node - Replace - MANAGEMENT_INTERFACE_IP_ADDRESS - with the IP address of the management network on the storage - node. - - - In the [pipeline:main] section, enable - the appropriate modules: - [pipeline:main] -pipeline = healthcheck recon container-server - - For more information on other modules that enable - additional features, see the - Deployment Guide. - - - - In the [filter:recon] section, configure - the recon (meters) cache directory: - [filter:recon] -... -recon_cache_path = /var/cache/swift - - - - - Edit the - /etc/swift/object-server.conf file and - complete the following actions: - - - In the [DEFAULT] section, configure the - bind IP address, bind port, user, configuration directory, and - mount point directory: - [DEFAULT] -... -bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS -bind_port = 6000 -user = swift -swift_dir = /etc/swift -devices = /srv/node - Replace - MANAGEMENT_INTERFACE_IP_ADDRESS - with the IP address of the management network on the storage - node. - - - In the [pipeline:main] section, enable - the appropriate modules: - [pipeline:main] -pipeline = healthcheck recon object-server - - For more information on other modules that enable - additional features, see the - Deployment Guide. - - - - In the [filter:recon] section, configure - the recon (meters) cache and lock directories: - [filter:recon] -... -recon_cache_path = /var/cache/swift -recon_lock_path = /var/lock - - - - - Ensure proper ownership of the mount point directory - structure: - # chown -R swift:swift /srv/node - - - Create the recon directory and ensure proper - ownership of it: - # mkdir -p /var/cache/swift -# chown -R swift:swift /var/cache/swift - - -
    diff --git a/doc/install-guide/section_swift-verify.xml b/doc/install-guide/section_swift-verify.xml deleted file mode 100644 index b61ca0cc46..0000000000 --- a/doc/install-guide/section_swift-verify.xml +++ /dev/null @@ -1,57 +0,0 @@ - -
    - Verify operation - This section describes how to verify operation of the Object - Storage service. - - - The swift client requires the - -V 3 parameter to use the Identity version 3 - API. - - - Perform these steps on the controller node. - - - Source the demo credentials: - $ source demo-openrc.sh - - - Show the service status: - $ swift -V 3 stat -Account: AUTH_c75cafb58f5049b8a976506737210756 - Containers: 0 - Objects: 0 - Bytes: 0 -X-Put-Timestamp: 1429736713.92936 - X-Timestamp: 1429736713.92936 - X-Trans-Id: txdea07add01ca4dbdb49a2-0055380d09 - Content-Type: text/plain; charset=utf-8 - - - Upload a test file: - $ swift -V 3 upload demo-container1 FILE -FILE - Replace FILE with the name of a local - file to upload to the demo-container1 - container. - - - List containers: - $ swift -V 3 list -demo-container1 - - - Download a test file: - $ swift -V 3 download demo-container1 FILE -FILE [auth 0.295s, headers 0.339s, total 0.339s, 0.005 MB/s] - Replace FILE with the name of the - file uploaded to the demo-container1 - container. - - -
    diff --git a/doc/install-guide/section_trove-install.xml b/doc/install-guide/section_trove-install.xml deleted file mode 100644 index f9cc0c325d..0000000000 --- a/doc/install-guide/section_trove-install.xml +++ /dev/null @@ -1,283 +0,0 @@ - -
    - Install the Database service - This procedure installs the Database service on the controller - node. - - Prerequisites - This chapter assumes that you already have a working - OpenStack environment with at least the following components - installed: Compute, Image service, Identity. - - - - If you want to do backup and restore, you also need Object Storage. - - - If you want to provision datastores on block-storage volumes, you also need Block Storage. - - - To install the Database service on the controller: - - - Install required packages: - # apt-get install python-trove python-troveclient \ - trove-common trove-api trove-taskmanager trove-conductor - # yum install openstack-trove python-troveclient - # zypper install openstack-trove python-troveclient - - - Respond to the prompts for database management and [keystone_authtoken] settings, - and API endpoint - registration. The trove-manage db_sync - command runs automatically. - - - - All configuration files should be placed at the /etc/trove directory. - Edit the following configuration files, taking the below - actions for each file: - - api-paste.ini - trove.conf - trove-taskmanager.conf - trove-conductor.conf - - - - You need to take upstream api-paste.ini and change content below in it: - [composite:trove] -auth_uri = http://controller:5000/v2.0 -identity_uri = http://controller:35357 -auth_host = controller -admin_tenant_name = service -admin_user = trove -admin_password = TROVE_PASS - Edit the [DEFAULT] section of - each file (except api-paste.ini) and set appropriate values for the OpenStack service - URLs (can be handled by Keystone service catalog), logging and -messaging configuration. Edit the [database] section in each -file to add the SQL connections: - [DEFAULT] -log_dir = /var/log/trove -trove_auth_url = http://controller:5000/v2.0 -nova_compute_url = http://controller:8774/v2 -cinder_url = http://controller:8776/v2 -swift_url = http://controller:8080/v1/AUTH_ -notifier_queue_hostname = controller - -[database] -connection = mysql://trove:TROVE_DBPASS@controller/trove - - - - - Configure the Database service to use the RabbitMQ message broker by - setting the following options in the [DEFAULT] - configuration group of each file: - [DEFAULT] -control_exchange = trove -rabbit_host = controller -rabbit_userid = guest -rabbit_password = RABBIT_PASS -rabbit_virtual_host= / -rpc_backend = trove.openstack.common.rpc.impl_kombu - - - - - - Edit the trove.conf file so it includes - appropriate values for the default datastore and network label - regex as shown below: - [DEFAULT] -# Config option for showing the IP address that nova doles out -add_addresses = True -network_label_regex = ^NETWORK_LABEL$ -control_exchange = trove - - - - - Edit the trove-taskmanager.conf file - so it includes the required settings to - connect to the OpenStack Compute service as shown below: - [DEFAULT] -# Configuration options for talking to nova via the novaclient. -# These options are for an admin user in your keystone config. -# It proxy's the token received from the user to send to nova via this admin users creds, -# basically acting like the client via that proxy token. -nova_proxy_admin_user = admin -nova_proxy_admin_pass = ADMIN_PASS -tenant_id = service -taskmanager_manager = trove.taskmanager.manager.Manager -log_file=trove-taskmanager.log - - - - - Prepare the trove admin database: - $ mysql -u root -p -mysql> CREATE DATABASE trove; -mysql> GRANT ALL PRIVILEGES ON trove.* TO trove@'localhost' \ -IDENTIFIED BY 'TROVE_DBPASS'; -mysql> GRANT ALL PRIVILEGES ON trove.* TO trove@'%' \ -IDENTIFIED BY 'TROVE_DBPASS'; - - - - Prepare the Database service: - - - Initialize the database: - # trove-manage db_sync - - - Create a datastore. You need to create a separate datastore for - each type of database you want to use, for example, MySQL, MongoDB, Cassandra. - This example shows you how to create a datastore for a MySQL database: - # su -s /bin/sh -c "trove-manage datastore_update mysql ''" trove - - - - - Create a trove image. - Create an image for the type of database you want to use, - for example, MySQL, MongoDB, Cassandra. - This image must have the trove guest agent installed, and - it must have the trove-guestagent.conf file - configured to connect to your OpenStack environment. To - correctly configure the - trove-guestagent.conf file, follow these steps - on the guest instance you are using to build your image: - - - - Add the following lines to trove-guestagent.conf: - rabbit_host = controller -rabbit_password = RABBIT_PASS -nova_proxy_admin_user = admin -nova_proxy_admin_pass = ADMIN_PASS -tenant_id = service -trove_auth_url = http://controller:35357/v2.0 -log_file = trove-guestagent.log - - - - - Update the datastore and version to use the specific image with the trove-manage command. - #trove-manage datastore_update datastore_name datastore_version - #trove-manage datastore_version_update datastore_name version_name \ - datastore_manager glance_image_id packages active - This example shows you how to create a MySQL datastore with version 5.5: - #trove-manage datastore_update mysql '' - #trove-manage datastore_version_update mysql 5.5 mysql glance_image_ID mysql-server-5.5 1 - #trove-manage datastore_update mysql 5.5 - - - Upload post-provisioning configuration validation rules: - - #trove-manage db_load_datastore_config_parameters datastore_name version_name \ - /etc/datastore_name/validation-rules.json - Example for uploading rules for MySQL datastore: - # trove-manage db_load_datastore_config_parameters \ - mysql 5.5 "$PYBASEDIR"/trove/templates/mysql/validation-rules.json - - - - - Source the admin credentials to gain access to - admin-only CLI commands: - $ source admin-openrc.sh - - - - To create the service credentials, complete these steps: - - - Create the trove user: - $ openstack user create --password-prompt trove -User Password: -Repeat User Password: -+----------+----------------------------------+ -| Field | Value | -+----------+----------------------------------+ -| email | None | -| enabled | True | -| id | a0bb962771744d63a659c540d5384b0c | -| name | trove | -| username | trove | -+----------+----------------------------------+ - - - Add the admin role to the - trove user: - $ openstack role add --project service --user trove admin -+-------+----------------------------------+ -| Field | Value | -+-------+----------------------------------+ -| id | cd2cb9a39e874ea69e5d4b896eb16128 | -| name | admin | -+-------+----------------------------------+ - - - Create the neutron service entity: - $ openstack service create --name trove \ - --description "OpenStack Database service" database -+-------------+----------------------------------+ -| Field | Value | -+-------------+----------------------------------+ -| description | OpenStack Database service | -| enabled | True | -| id | 390a039be169460c994110210c620d2f | -| name | trove | -| type | database | -+-------------+----------------------------------+ - - - - - - Create the Database service API endpoint: - $ openstack endpoint create \ - --publicurl http://controller:8779/v1.0/%\(tenant_id\)s \ - --internalurl http://controller:8779/v1.0/%\(tenant_id\)s \ - --adminurl http://controller:8779/v1.0/%\(tenant_id\)s \ - --region RegionOne \ - database -+--------------+-------------------------------------------+ -| Field | Value | -+--------------+-------------------------------------------+ -| adminurl | http://controller:8779/v1.0/%(tenant_id)s | -| id | 22db3a4e1ce1407f80dfc1fbe6c26278 | -| internalurl | http://controller:8779/v1.0/%(tenant_id)s | -| publicurl | http://controller:8779/v1.0/%(tenant_id)s | -| region | RegionOne | -| service_id | 390a039be169460c994110210c620d2f | -| service_name | trove | -| service_type | database | -+--------------+-------------------------------------------+ - - - - Restart the Database services: - # service trove-api restart -# service trove-taskmanager restart -# service trove-conductor restart - - - - Start the Database services and configure them to start when the - system boots: - # systemctl enable openstack-trove-api.service openstack-trove-taskmanager.service \ - openstack-trove-conductor.service -# systemctl start openstack-trove-api.service openstack-trove-taskmanager.service \ - openstack-trove-conductor.service - - - -
    diff --git a/doc/install-guide/section_trove-verify.xml b/doc/install-guide/section_trove-verify.xml deleted file mode 100644 index 54e9c44cf8..0000000000 --- a/doc/install-guide/section_trove-verify.xml +++ /dev/null @@ -1,39 +0,0 @@ - -
    - Verify the Database service installation - To verify that the Database service is installed and - configured correctly, try executing a trove command: - - - Source the demo-openrc.sh file. - $ source ~/demo-openrc.sh - - - Retrieve the trove instances list: - $ trove list - You should see output similar to this: - +----+------+-----------+-------------------+--------+-----------+------+ -| id | name | datastore | datastore_version | status | flavor_id | size | -+----+------+-----------+-------------------+--------+-----------+------+ -+----+------+-----------+-------------------+--------+-----------+------+ - - - - Assuming you have created an image for the type of - database you want, and have updated the datastore to - use that image, you can now create a trove instance - (Database service). To do this, use the trove - create command. - - This example shows you how to create a MySQL 5.5 - database: - $ trove create name 2 --size=2 --databases DBNAME \ - --users USER:PASSWORD --datastore_version mysql-5.5 \ - --datastore mysql - - -
    diff --git a/doc/install-guide-rst/setup.cfg b/doc/install-guide/setup.cfg similarity index 100% rename from doc/install-guide-rst/setup.cfg rename to doc/install-guide/setup.cfg diff --git a/doc/install-guide-rst/setup.py b/doc/install-guide/setup.py similarity index 100% rename from doc/install-guide-rst/setup.py rename to doc/install-guide/setup.py diff --git a/doc/install-guide-rst/source/app_reserved_uids.rst b/doc/install-guide/source/app_reserved_uids.rst similarity index 100% rename from doc/install-guide-rst/source/app_reserved_uids.rst rename to doc/install-guide/source/app_reserved_uids.rst diff --git a/doc/install-guide-rst/source/basic_environment.rst b/doc/install-guide/source/basic_environment.rst similarity index 100% rename from doc/install-guide-rst/source/basic_environment.rst rename to doc/install-guide/source/basic_environment.rst diff --git a/doc/install-guide-rst/source/basics-networking-neutron.rst b/doc/install-guide/source/basics-networking-neutron.rst similarity index 100% rename from doc/install-guide-rst/source/basics-networking-neutron.rst rename to doc/install-guide/source/basics-networking-neutron.rst diff --git a/doc/install-guide-rst/source/basics-networking-nova.rst b/doc/install-guide/source/basics-networking-nova.rst similarity index 100% rename from doc/install-guide-rst/source/basics-networking-nova.rst rename to doc/install-guide/source/basics-networking-nova.rst diff --git a/doc/install-guide-rst/source/basics-networking.rst b/doc/install-guide/source/basics-networking.rst similarity index 100% rename from doc/install-guide-rst/source/basics-networking.rst rename to doc/install-guide/source/basics-networking.rst diff --git a/doc/install-guide-rst/source/basics-ntp.rst b/doc/install-guide/source/basics-ntp.rst similarity index 100% rename from doc/install-guide-rst/source/basics-ntp.rst rename to doc/install-guide/source/basics-ntp.rst diff --git a/doc/install-guide-rst/source/basics-packages.rst b/doc/install-guide/source/basics-packages.rst similarity index 100% rename from doc/install-guide-rst/source/basics-packages.rst rename to doc/install-guide/source/basics-packages.rst diff --git a/doc/install-guide-rst/source/ceilometer-cinder.rst b/doc/install-guide/source/ceilometer-cinder.rst similarity index 100% rename from doc/install-guide-rst/source/ceilometer-cinder.rst rename to doc/install-guide/source/ceilometer-cinder.rst diff --git a/doc/install-guide-rst/source/ceilometer-controller-install.rst b/doc/install-guide/source/ceilometer-controller-install.rst similarity index 100% rename from doc/install-guide-rst/source/ceilometer-controller-install.rst rename to doc/install-guide/source/ceilometer-controller-install.rst diff --git a/doc/install-guide-rst/source/ceilometer-glance.rst b/doc/install-guide/source/ceilometer-glance.rst similarity index 100% rename from doc/install-guide-rst/source/ceilometer-glance.rst rename to doc/install-guide/source/ceilometer-glance.rst diff --git a/doc/install-guide-rst/source/ceilometer-next-steps.rst b/doc/install-guide/source/ceilometer-next-steps.rst similarity index 100% rename from doc/install-guide-rst/source/ceilometer-next-steps.rst rename to doc/install-guide/source/ceilometer-next-steps.rst diff --git a/doc/install-guide-rst/source/ceilometer-nova.rst b/doc/install-guide/source/ceilometer-nova.rst similarity index 100% rename from doc/install-guide-rst/source/ceilometer-nova.rst rename to doc/install-guide/source/ceilometer-nova.rst diff --git a/doc/install-guide-rst/source/ceilometer-swift.rst b/doc/install-guide/source/ceilometer-swift.rst similarity index 100% rename from doc/install-guide-rst/source/ceilometer-swift.rst rename to doc/install-guide/source/ceilometer-swift.rst diff --git a/doc/install-guide-rst/source/ceilometer-verify.rst b/doc/install-guide/source/ceilometer-verify.rst similarity index 100% rename from doc/install-guide-rst/source/ceilometer-verify.rst rename to doc/install-guide/source/ceilometer-verify.rst diff --git a/doc/install-guide-rst/source/ceilometer.rst b/doc/install-guide/source/ceilometer.rst similarity index 100% rename from doc/install-guide-rst/source/ceilometer.rst rename to doc/install-guide/source/ceilometer.rst diff --git a/doc/install-guide-rst/source/cinder-controller-node.rst b/doc/install-guide/source/cinder-controller-node.rst similarity index 100% rename from doc/install-guide-rst/source/cinder-controller-node.rst rename to doc/install-guide/source/cinder-controller-node.rst diff --git a/doc/install-guide-rst/source/cinder-next-steps.rst b/doc/install-guide/source/cinder-next-steps.rst similarity index 100% rename from doc/install-guide-rst/source/cinder-next-steps.rst rename to doc/install-guide/source/cinder-next-steps.rst diff --git a/doc/install-guide-rst/source/cinder-storage-node.rst b/doc/install-guide/source/cinder-storage-node.rst similarity index 100% rename from doc/install-guide-rst/source/cinder-storage-node.rst rename to doc/install-guide/source/cinder-storage-node.rst diff --git a/doc/install-guide-rst/source/cinder-verify.rst b/doc/install-guide/source/cinder-verify.rst similarity index 100% rename from doc/install-guide-rst/source/cinder-verify.rst rename to doc/install-guide/source/cinder-verify.rst diff --git a/doc/install-guide-rst/source/cinder.rst b/doc/install-guide/source/cinder.rst similarity index 100% rename from doc/install-guide-rst/source/cinder.rst rename to doc/install-guide/source/cinder.rst diff --git a/doc/install-guide-rst/source/common b/doc/install-guide/source/common similarity index 100% rename from doc/install-guide-rst/source/common rename to doc/install-guide/source/common diff --git a/doc/install-guide-rst/source/conf.py b/doc/install-guide/source/conf.py similarity index 100% rename from doc/install-guide-rst/source/conf.py rename to doc/install-guide/source/conf.py diff --git a/doc/install-guide-rst/source/dashboard-install.rst b/doc/install-guide/source/dashboard-install.rst similarity index 100% rename from doc/install-guide-rst/source/dashboard-install.rst rename to doc/install-guide/source/dashboard-install.rst diff --git a/doc/install-guide-rst/source/dashboard-next-step.rst b/doc/install-guide/source/dashboard-next-step.rst similarity index 100% rename from doc/install-guide-rst/source/dashboard-next-step.rst rename to doc/install-guide/source/dashboard-next-step.rst diff --git a/doc/install-guide-rst/source/dashboard-verify.rst b/doc/install-guide/source/dashboard-verify.rst similarity index 100% rename from doc/install-guide-rst/source/dashboard-verify.rst rename to doc/install-guide/source/dashboard-verify.rst diff --git a/doc/install-guide-rst/source/debconf/debconf-api-endpoints.rst b/doc/install-guide/source/debconf/debconf-api-endpoints.rst similarity index 100% rename from doc/install-guide-rst/source/debconf/debconf-api-endpoints.rst rename to doc/install-guide/source/debconf/debconf-api-endpoints.rst diff --git a/doc/install-guide-rst/source/debconf/debconf-concepts.rst b/doc/install-guide/source/debconf/debconf-concepts.rst similarity index 100% rename from doc/install-guide-rst/source/debconf/debconf-concepts.rst rename to doc/install-guide/source/debconf/debconf-concepts.rst diff --git a/doc/install-guide-rst/source/debconf/debconf-dbconfig-common.rst b/doc/install-guide/source/debconf/debconf-dbconfig-common.rst similarity index 100% rename from doc/install-guide-rst/source/debconf/debconf-dbconfig-common.rst rename to doc/install-guide/source/debconf/debconf-dbconfig-common.rst diff --git a/doc/install-guide-rst/source/debconf/debconf-keystone-authtoken.rst b/doc/install-guide/source/debconf/debconf-keystone-authtoken.rst similarity index 100% rename from doc/install-guide-rst/source/debconf/debconf-keystone-authtoken.rst rename to doc/install-guide/source/debconf/debconf-keystone-authtoken.rst diff --git a/doc/install-guide-rst/source/debconf/debconf-rabbitmq.rst b/doc/install-guide/source/debconf/debconf-rabbitmq.rst similarity index 100% rename from doc/install-guide-rst/source/debconf/debconf-rabbitmq.rst rename to doc/install-guide/source/debconf/debconf-rabbitmq.rst diff --git a/doc/install-guide-rst/source/debconf/debconf.rst b/doc/install-guide/source/debconf/debconf.rst similarity index 100% rename from doc/install-guide-rst/source/debconf/debconf.rst rename to doc/install-guide/source/debconf/debconf.rst diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_1_register_endpoint.png b/doc/install-guide/source/figures/debconf-screenshots/api-endpoint_1_register_endpoint.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_1_register_endpoint.png rename to doc/install-guide/source/figures/debconf-screenshots/api-endpoint_1_register_endpoint.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png b/doc/install-guide/source/figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png rename to doc/install-guide/source/figures/debconf-screenshots/api-endpoint_2_keystone_server_ip.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png b/doc/install-guide/source/figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png rename to doc/install-guide/source/figures/debconf-screenshots/api-endpoint_3_keystone_authtoken.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png b/doc/install-guide/source/figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png rename to doc/install-guide/source/figures/debconf-screenshots/api-endpoint_4_service_endpoint_ip_address.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_5_region_name.png b/doc/install-guide/source/figures/debconf-screenshots/api-endpoint_5_region_name.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/api-endpoint_5_region_name.png rename to doc/install-guide/source/figures/debconf-screenshots/api-endpoint_5_region_name.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png b/doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png rename to doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_2_db-types.png b/doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_2_db-types.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_2_db-types.png rename to doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_2_db-types.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_3_connection_method.png b/doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_3_connection_method.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_3_connection_method.png rename to doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_3_connection_method.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_4_mysql_root_password.png b/doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_4_mysql_root_password.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_4_mysql_root_password.png rename to doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_4_mysql_root_password.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png b/doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png rename to doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_6_mysql_app_password_confirm.png b/doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_6_mysql_app_password_confirm.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_6_mysql_app_password_confirm.png rename to doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_6_mysql_app_password_confirm.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png b/doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png rename to doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_used_for_remote_db.png b/doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_used_for_remote_db.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/dbconfig-common_used_for_remote_db.png rename to doc/install-guide/source/figures/debconf-screenshots/dbconfig-common_used_for_remote_db.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/glance-common_pipeline_flavor.png b/doc/install-guide/source/figures/debconf-screenshots/glance-common_pipeline_flavor.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/glance-common_pipeline_flavor.png rename to doc/install-guide/source/figures/debconf-screenshots/glance-common_pipeline_flavor.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/keystone_1_admin_token.png b/doc/install-guide/source/figures/debconf-screenshots/keystone_1_admin_token.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/keystone_1_admin_token.png rename to doc/install-guide/source/figures/debconf-screenshots/keystone_1_admin_token.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/keystone_2_register_admin_tenant_yes_no.png b/doc/install-guide/source/figures/debconf-screenshots/keystone_2_register_admin_tenant_yes_no.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/keystone_2_register_admin_tenant_yes_no.png rename to doc/install-guide/source/figures/debconf-screenshots/keystone_2_register_admin_tenant_yes_no.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/keystone_3_admin_user_name.png b/doc/install-guide/source/figures/debconf-screenshots/keystone_3_admin_user_name.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/keystone_3_admin_user_name.png rename to doc/install-guide/source/figures/debconf-screenshots/keystone_3_admin_user_name.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/keystone_4_admin_user_email.png b/doc/install-guide/source/figures/debconf-screenshots/keystone_4_admin_user_email.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/keystone_4_admin_user_email.png rename to doc/install-guide/source/figures/debconf-screenshots/keystone_4_admin_user_email.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/keystone_5_admin_user_pass.png b/doc/install-guide/source/figures/debconf-screenshots/keystone_5_admin_user_pass.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/keystone_5_admin_user_pass.png rename to doc/install-guide/source/figures/debconf-screenshots/keystone_5_admin_user_pass.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/keystone_6_admin_user_pass_confirm.png b/doc/install-guide/source/figures/debconf-screenshots/keystone_6_admin_user_pass_confirm.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/keystone_6_admin_user_pass_confirm.png rename to doc/install-guide/source/figures/debconf-screenshots/keystone_6_admin_user_pass_confirm.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/keystone_7_register_endpoint.png b/doc/install-guide/source/figures/debconf-screenshots/keystone_7_register_endpoint.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/keystone_7_register_endpoint.png rename to doc/install-guide/source/figures/debconf-screenshots/keystone_7_register_endpoint.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/neutron_1_plugin_selection.png b/doc/install-guide/source/figures/debconf-screenshots/neutron_1_plugin_selection.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/neutron_1_plugin_selection.png rename to doc/install-guide/source/figures/debconf-screenshots/neutron_1_plugin_selection.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/rabbitmq-host.png b/doc/install-guide/source/figures/debconf-screenshots/rabbitmq-host.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/rabbitmq-host.png rename to doc/install-guide/source/figures/debconf-screenshots/rabbitmq-host.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/rabbitmq-password.png b/doc/install-guide/source/figures/debconf-screenshots/rabbitmq-password.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/rabbitmq-password.png rename to doc/install-guide/source/figures/debconf-screenshots/rabbitmq-password.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/rabbitmq-user.png b/doc/install-guide/source/figures/debconf-screenshots/rabbitmq-user.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/rabbitmq-user.png rename to doc/install-guide/source/figures/debconf-screenshots/rabbitmq-user.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/service_keystone_authtoken_admin_password.png b/doc/install-guide/source/figures/debconf-screenshots/service_keystone_authtoken_admin_password.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/service_keystone_authtoken_admin_password.png rename to doc/install-guide/source/figures/debconf-screenshots/service_keystone_authtoken_admin_password.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png b/doc/install-guide/source/figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png rename to doc/install-guide/source/figures/debconf-screenshots/service_keystone_authtoken_admin_tenant_name.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png b/doc/install-guide/source/figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png rename to doc/install-guide/source/figures/debconf-screenshots/service_keystone_authtoken_server_hostname.png diff --git a/doc/install-guide-rst/source/figures/debconf-screenshots/service_keystone_authtoken_tenant_admin_user.png b/doc/install-guide/source/figures/debconf-screenshots/service_keystone_authtoken_tenant_admin_user.png similarity index 100% rename from doc/install-guide-rst/source/figures/debconf-screenshots/service_keystone_authtoken_tenant_admin_user.png rename to doc/install-guide/source/figures/debconf-screenshots/service_keystone_authtoken_tenant_admin_user.png diff --git a/doc/install-guide-rst/source/figures/installguide-neutron-initialnetworks.graffle b/doc/install-guide/source/figures/installguide-neutron-initialnetworks.graffle similarity index 100% rename from doc/install-guide-rst/source/figures/installguide-neutron-initialnetworks.graffle rename to doc/install-guide/source/figures/installguide-neutron-initialnetworks.graffle diff --git a/doc/install-guide-rst/source/figures/installguide-neutron-initialnetworks.png b/doc/install-guide/source/figures/installguide-neutron-initialnetworks.png similarity index 100% rename from doc/install-guide-rst/source/figures/installguide-neutron-initialnetworks.png rename to doc/install-guide/source/figures/installguide-neutron-initialnetworks.png diff --git a/doc/install-guide-rst/source/figures/installguide-neutron-initialnetworks.svg b/doc/install-guide/source/figures/installguide-neutron-initialnetworks.svg similarity index 100% rename from doc/install-guide-rst/source/figures/installguide-neutron-initialnetworks.svg rename to doc/install-guide/source/figures/installguide-neutron-initialnetworks.svg diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-hw.graffle b/doc/install-guide/source/figures/installguidearch-neutron-hw.graffle similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-hw.graffle rename to doc/install-guide/source/figures/installguidearch-neutron-hw.graffle diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-hw.png b/doc/install-guide/source/figures/installguidearch-neutron-hw.png similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-hw.png rename to doc/install-guide/source/figures/installguidearch-neutron-hw.png diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-hw.svg b/doc/install-guide/source/figures/installguidearch-neutron-hw.svg similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-hw.svg rename to doc/install-guide/source/figures/installguidearch-neutron-hw.svg diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-networks.graffle b/doc/install-guide/source/figures/installguidearch-neutron-networks.graffle similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-networks.graffle rename to doc/install-guide/source/figures/installguidearch-neutron-networks.graffle diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-networks.png b/doc/install-guide/source/figures/installguidearch-neutron-networks.png similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-networks.png rename to doc/install-guide/source/figures/installguidearch-neutron-networks.png diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-networks.svg b/doc/install-guide/source/figures/installguidearch-neutron-networks.svg similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-networks.svg rename to doc/install-guide/source/figures/installguidearch-neutron-networks.svg diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-services.graffle b/doc/install-guide/source/figures/installguidearch-neutron-services.graffle similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-services.graffle rename to doc/install-guide/source/figures/installguidearch-neutron-services.graffle diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-services.png b/doc/install-guide/source/figures/installguidearch-neutron-services.png similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-services.png rename to doc/install-guide/source/figures/installguidearch-neutron-services.png diff --git a/doc/install-guide-rst/source/figures/installguidearch-neutron-services.svg b/doc/install-guide/source/figures/installguidearch-neutron-services.svg similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-neutron-services.svg rename to doc/install-guide/source/figures/installguidearch-neutron-services.svg diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-hw.graffle b/doc/install-guide/source/figures/installguidearch-nova-hw.graffle similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-hw.graffle rename to doc/install-guide/source/figures/installguidearch-nova-hw.graffle diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-hw.png b/doc/install-guide/source/figures/installguidearch-nova-hw.png similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-hw.png rename to doc/install-guide/source/figures/installguidearch-nova-hw.png diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-hw.svg b/doc/install-guide/source/figures/installguidearch-nova-hw.svg similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-hw.svg rename to doc/install-guide/source/figures/installguidearch-nova-hw.svg diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-networks.graffle b/doc/install-guide/source/figures/installguidearch-nova-networks.graffle similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-networks.graffle rename to doc/install-guide/source/figures/installguidearch-nova-networks.graffle diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-networks.png b/doc/install-guide/source/figures/installguidearch-nova-networks.png similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-networks.png rename to doc/install-guide/source/figures/installguidearch-nova-networks.png diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-networks.svg b/doc/install-guide/source/figures/installguidearch-nova-networks.svg similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-networks.svg rename to doc/install-guide/source/figures/installguidearch-nova-networks.svg diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-services.graffle b/doc/install-guide/source/figures/installguidearch-nova-services.graffle similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-services.graffle rename to doc/install-guide/source/figures/installguidearch-nova-services.graffle diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-services.png b/doc/install-guide/source/figures/installguidearch-nova-services.png similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-services.png rename to doc/install-guide/source/figures/installguidearch-nova-services.png diff --git a/doc/install-guide-rst/source/figures/installguidearch-nova-services.svg b/doc/install-guide/source/figures/installguidearch-nova-services.svg similarity index 100% rename from doc/install-guide-rst/source/figures/installguidearch-nova-services.svg rename to doc/install-guide/source/figures/installguidearch-nova-services.svg diff --git a/doc/install-guide-rst/source/figures/openstack_kilo_conceptual_arch.png b/doc/install-guide/source/figures/openstack_kilo_conceptual_arch.png similarity index 100% rename from doc/install-guide-rst/source/figures/openstack_kilo_conceptual_arch.png rename to doc/install-guide/source/figures/openstack_kilo_conceptual_arch.png diff --git a/doc/install-guide-rst/source/glance-install.rst b/doc/install-guide/source/glance-install.rst similarity index 100% rename from doc/install-guide-rst/source/glance-install.rst rename to doc/install-guide/source/glance-install.rst diff --git a/doc/install-guide-rst/source/glance-verify.rst b/doc/install-guide/source/glance-verify.rst similarity index 100% rename from doc/install-guide-rst/source/glance-verify.rst rename to doc/install-guide/source/glance-verify.rst diff --git a/doc/install-guide-rst/source/glance.rst b/doc/install-guide/source/glance.rst similarity index 100% rename from doc/install-guide-rst/source/glance.rst rename to doc/install-guide/source/glance.rst diff --git a/doc/install-guide-rst/source/heat-install.rst b/doc/install-guide/source/heat-install.rst similarity index 100% rename from doc/install-guide-rst/source/heat-install.rst rename to doc/install-guide/source/heat-install.rst diff --git a/doc/install-guide-rst/source/heat-next-step.rst b/doc/install-guide/source/heat-next-step.rst similarity index 100% rename from doc/install-guide-rst/source/heat-next-step.rst rename to doc/install-guide/source/heat-next-step.rst diff --git a/doc/install-guide-rst/source/heat-verify.rst b/doc/install-guide/source/heat-verify.rst similarity index 100% rename from doc/install-guide-rst/source/heat-verify.rst rename to doc/install-guide/source/heat-verify.rst diff --git a/doc/install-guide-rst/source/heat.rst b/doc/install-guide/source/heat.rst similarity index 100% rename from doc/install-guide-rst/source/heat.rst rename to doc/install-guide/source/heat.rst diff --git a/doc/install-guide-rst/source/horizon.rst b/doc/install-guide/source/horizon.rst similarity index 100% rename from doc/install-guide-rst/source/horizon.rst rename to doc/install-guide/source/horizon.rst diff --git a/doc/install-guide-rst/source/index.rst b/doc/install-guide/source/index.rst similarity index 100% rename from doc/install-guide-rst/source/index.rst rename to doc/install-guide/source/index.rst diff --git a/doc/install-guide-rst/source/keystone-install.rst b/doc/install-guide/source/keystone-install.rst similarity index 100% rename from doc/install-guide-rst/source/keystone-install.rst rename to doc/install-guide/source/keystone-install.rst diff --git a/doc/install-guide-rst/source/keystone-openrc.rst b/doc/install-guide/source/keystone-openrc.rst similarity index 100% rename from doc/install-guide-rst/source/keystone-openrc.rst rename to doc/install-guide/source/keystone-openrc.rst diff --git a/doc/install-guide-rst/source/keystone-services.rst b/doc/install-guide/source/keystone-services.rst similarity index 100% rename from doc/install-guide-rst/source/keystone-services.rst rename to doc/install-guide/source/keystone-services.rst diff --git a/doc/install-guide-rst/source/keystone-users.rst b/doc/install-guide/source/keystone-users.rst similarity index 100% rename from doc/install-guide-rst/source/keystone-users.rst rename to doc/install-guide/source/keystone-users.rst diff --git a/doc/install-guide-rst/source/keystone-verify.rst b/doc/install-guide/source/keystone-verify.rst similarity index 100% rename from doc/install-guide-rst/source/keystone-verify.rst rename to doc/install-guide/source/keystone-verify.rst diff --git a/doc/install-guide-rst/source/keystone.rst b/doc/install-guide/source/keystone.rst similarity index 100% rename from doc/install-guide-rst/source/keystone.rst rename to doc/install-guide/source/keystone.rst diff --git a/doc/install-guide-rst/source/launch-instance-neutron.rst b/doc/install-guide/source/launch-instance-neutron.rst similarity index 100% rename from doc/install-guide-rst/source/launch-instance-neutron.rst rename to doc/install-guide/source/launch-instance-neutron.rst diff --git a/doc/install-guide-rst/source/launch-instance-nova.rst b/doc/install-guide/source/launch-instance-nova.rst similarity index 100% rename from doc/install-guide-rst/source/launch-instance-nova.rst rename to doc/install-guide/source/launch-instance-nova.rst diff --git a/doc/install-guide-rst/source/launch-instance.rst b/doc/install-guide/source/launch-instance.rst similarity index 100% rename from doc/install-guide-rst/source/launch-instance.rst rename to doc/install-guide/source/launch-instance.rst diff --git a/doc/install-guide-rst/source/locale/install-guide-rst.pot b/doc/install-guide/source/locale/install-guide.pot similarity index 100% rename from doc/install-guide-rst/source/locale/install-guide-rst.pot rename to doc/install-guide/source/locale/install-guide.pot diff --git a/doc/install-guide-rst/source/mariadb_output.txt b/doc/install-guide/source/mariadb_output.txt similarity index 100% rename from doc/install-guide-rst/source/mariadb_output.txt rename to doc/install-guide/source/mariadb_output.txt diff --git a/doc/install-guide-rst/source/networking-neutron.rst b/doc/install-guide/source/networking-neutron.rst similarity index 100% rename from doc/install-guide-rst/source/networking-neutron.rst rename to doc/install-guide/source/networking-neutron.rst diff --git a/doc/install-guide-rst/source/networking-next-steps.rst b/doc/install-guide/source/networking-next-steps.rst similarity index 100% rename from doc/install-guide-rst/source/networking-next-steps.rst rename to doc/install-guide/source/networking-next-steps.rst diff --git a/doc/install-guide-rst/source/networking-nova.rst b/doc/install-guide/source/networking-nova.rst similarity index 100% rename from doc/install-guide-rst/source/networking-nova.rst rename to doc/install-guide/source/networking-nova.rst diff --git a/doc/install-guide-rst/source/networking.rst b/doc/install-guide/source/networking.rst similarity index 100% rename from doc/install-guide-rst/source/networking.rst rename to doc/install-guide/source/networking.rst diff --git a/doc/install-guide-rst/source/neutron-compute-node.rst b/doc/install-guide/source/neutron-compute-node.rst similarity index 100% rename from doc/install-guide-rst/source/neutron-compute-node.rst rename to doc/install-guide/source/neutron-compute-node.rst diff --git a/doc/install-guide-rst/source/neutron-concepts.rst b/doc/install-guide/source/neutron-concepts.rst similarity index 100% rename from doc/install-guide-rst/source/neutron-concepts.rst rename to doc/install-guide/source/neutron-concepts.rst diff --git a/doc/install-guide-rst/source/neutron-controller-node.rst b/doc/install-guide/source/neutron-controller-node.rst similarity index 100% rename from doc/install-guide-rst/source/neutron-controller-node.rst rename to doc/install-guide/source/neutron-controller-node.rst diff --git a/doc/install-guide-rst/source/neutron-initial-networks.rst b/doc/install-guide/source/neutron-initial-networks.rst similarity index 100% rename from doc/install-guide-rst/source/neutron-initial-networks.rst rename to doc/install-guide/source/neutron-initial-networks.rst diff --git a/doc/install-guide-rst/source/neutron-network-node.rst b/doc/install-guide/source/neutron-network-node.rst similarity index 100% rename from doc/install-guide-rst/source/neutron-network-node.rst rename to doc/install-guide/source/neutron-network-node.rst diff --git a/doc/install-guide-rst/source/nova-compute-install.rst b/doc/install-guide/source/nova-compute-install.rst similarity index 100% rename from doc/install-guide-rst/source/nova-compute-install.rst rename to doc/install-guide/source/nova-compute-install.rst diff --git a/doc/install-guide-rst/source/nova-controller-install.rst b/doc/install-guide/source/nova-controller-install.rst similarity index 100% rename from doc/install-guide-rst/source/nova-controller-install.rst rename to doc/install-guide/source/nova-controller-install.rst diff --git a/doc/install-guide-rst/source/nova-verify.rst b/doc/install-guide/source/nova-verify.rst similarity index 100% rename from doc/install-guide-rst/source/nova-verify.rst rename to doc/install-guide/source/nova-verify.rst diff --git a/doc/install-guide-rst/source/nova.rst b/doc/install-guide/source/nova.rst similarity index 100% rename from doc/install-guide-rst/source/nova.rst rename to doc/install-guide/source/nova.rst diff --git a/doc/install-guide-rst/source/overview.rst b/doc/install-guide/source/overview.rst similarity index 100% rename from doc/install-guide-rst/source/overview.rst rename to doc/install-guide/source/overview.rst diff --git a/doc/install-guide-rst/source/swift-controller-node-include.txt b/doc/install-guide/source/swift-controller-node-include.txt similarity index 100% rename from doc/install-guide-rst/source/swift-controller-node-include.txt rename to doc/install-guide/source/swift-controller-node-include.txt diff --git a/doc/install-guide-rst/source/swift-controller-node.rst b/doc/install-guide/source/swift-controller-node.rst similarity index 100% rename from doc/install-guide-rst/source/swift-controller-node.rst rename to doc/install-guide/source/swift-controller-node.rst diff --git a/doc/install-guide-rst/source/swift-finalize-installation.rst b/doc/install-guide/source/swift-finalize-installation.rst similarity index 100% rename from doc/install-guide-rst/source/swift-finalize-installation.rst rename to doc/install-guide/source/swift-finalize-installation.rst diff --git a/doc/install-guide-rst/source/swift-initial-rings.rst b/doc/install-guide/source/swift-initial-rings.rst similarity index 100% rename from doc/install-guide-rst/source/swift-initial-rings.rst rename to doc/install-guide/source/swift-initial-rings.rst diff --git a/doc/install-guide-rst/source/swift-next-steps.rst b/doc/install-guide/source/swift-next-steps.rst similarity index 100% rename from doc/install-guide-rst/source/swift-next-steps.rst rename to doc/install-guide/source/swift-next-steps.rst diff --git a/doc/install-guide-rst/source/swift-storage-node-include1.txt b/doc/install-guide/source/swift-storage-node-include1.txt similarity index 100% rename from doc/install-guide-rst/source/swift-storage-node-include1.txt rename to doc/install-guide/source/swift-storage-node-include1.txt diff --git a/doc/install-guide-rst/source/swift-storage-node-include2.txt b/doc/install-guide/source/swift-storage-node-include2.txt similarity index 100% rename from doc/install-guide-rst/source/swift-storage-node-include2.txt rename to doc/install-guide/source/swift-storage-node-include2.txt diff --git a/doc/install-guide-rst/source/swift-storage-node-include3.txt b/doc/install-guide/source/swift-storage-node-include3.txt similarity index 100% rename from doc/install-guide-rst/source/swift-storage-node-include3.txt rename to doc/install-guide/source/swift-storage-node-include3.txt diff --git a/doc/install-guide-rst/source/swift-storage-node.rst b/doc/install-guide/source/swift-storage-node.rst similarity index 100% rename from doc/install-guide-rst/source/swift-storage-node.rst rename to doc/install-guide/source/swift-storage-node.rst diff --git a/doc/install-guide-rst/source/swift-verify.rst b/doc/install-guide/source/swift-verify.rst similarity index 100% rename from doc/install-guide-rst/source/swift-verify.rst rename to doc/install-guide/source/swift-verify.rst diff --git a/doc/install-guide-rst/source/swift.rst b/doc/install-guide/source/swift.rst similarity index 100% rename from doc/install-guide-rst/source/swift.rst rename to doc/install-guide/source/swift.rst diff --git a/doc/pom.xml b/doc/pom.xml index 560455ed7e..5652f31c42 100644 --- a/doc/pom.xml +++ b/doc/pom.xml @@ -16,7 +16,6 @@ config-reference glossary image-guide - install-guide diff --git a/tools/build-install-guides-rst.sh b/tools/build-install-guides-rst.sh index d8919b9eb7..0e2a60e065 100755 --- a/tools/build-install-guides-rst.sh +++ b/tools/build-install-guides-rst.sh @@ -2,11 +2,11 @@ mkdir -p publish-docs -title_org=$(grep "title::" doc/install-guide-rst/source/index.rst | \ +title_org=$(grep "title::" doc/install-guide/source/index.rst | \ awk '{print substr($0, index($0, "::")+3)}') trap "sed -i -e \"s/\.\. title::.*/.. title:: ${title_org}/\" \ - doc/install-guide-rst/source/index.rst" EXIT + doc/install-guide/source/index.rst" EXIT for tag in obs rdo ubuntu debian; do GLOSSARY="" @@ -14,10 +14,10 @@ for tag in obs rdo ubuntu debian; do GLOSSARY="--glossary" fi title=$(grep -m 1 -A 5 ".. only:: ${tag}" \ - doc/install-guide-rst/source/index.rst | \ + doc/install-guide/source/index.rst | \ sed -n 4p | sed -e 's/^ *//g') sed -i -e "s/\.\. title::.*/.. title:: ${title}/" \ - doc/install-guide-rst/source/index.rst - tools/build-rst.sh doc/install-guide-rst \ - $GLOSSARY --tag ${tag} --target "draft/install-guide-rst-${tag}" + doc/install-guide/source/index.rst + tools/build-rst.sh doc/install-guide \ + $GLOSSARY --tag ${tag} --target "draft/install-guide-${tag}" done

    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.!@WT#U=zjb@^EaxH9)sji-#TT116R;{|qY$lF};R-Z^^p}l}DQmjJh!?2$ zwe4^zB9ykfMV?q!D;4w@t^^N{$Cn3wQ~^4e0|&quRaF64 zw9qJnKb5c*xGb63sxEDd8*%Zq zwD=@Fs*}X@xc)nu{QhEbL4f@StH5&Az~m0?fDIqQ*m`kO`;e_)V96N{VZ#c|dBmD! zM@P>TSmw6dutq#NYbHp4SkfWYlS54#{z9)QfeRKEI0kR0c9stG-Bsw`{b7N<6znS2 ziL3XLxowSmtBOPZvGAtEv|1RhP#^ZaUCKFD2-1ch*N}5}%4I+LLZFdY8;&fQ{nTC8byuHUPx3}nT*_QcJ1+!lNxmbF=^|XisQVqtQ zxY_r(Q8YlwO_QrlhEK)8Zyh1Xtcwi@TdY*%_|d7?(9LCOBwX;UtbEu#9F<-Buc*fp z|Fdcra5r2z3S(C$fOU7h|K!9!7iFAY9=A=i!fQJGz){%v@0h0X~>F}fjiFssn5n zx%FwVSWE`JC7)sfUZ<(jqoJw=`6)GwU`b5z_!-0fuhDZpN2AEJpMNe*`5%L&`^_GVwf{onzwz&X8~Ofs zZt-`G|AyHAn_d3ft@wA(;dv(Y-k+2N4y5W>>fm+9cG28Hms z&h3mG)$H20FMFqPfbt`ahwul_U;hV-eD;L^ diff --git a/doc/install-guide/figures/debconf-screenshots/dbconfig-common_3_connection_method.png b/doc/install-guide/figures/debconf-screenshots/dbconfig-common_3_connection_method.png deleted file mode 100644 index 1ce4bcac64a55e8b2add8ec19edbe69f361f339e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35891 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