Installasi dan konfigurasi

Installasi dan konfigurasi

Bagian ini menjelaskan cara menginstal dan mengkonfigurasi layanan Database, ‘code-named trove’, pada ‘controller node’.

Bagian ini mengasumsikan bahwa Anda sudah memiliki lingkungan OpenStack bekerja, dengan setidaknya komponen berikut diinstal: Compute, Image Service, Identity.

  • Jika Anda ingin melakukan backup dan restore, Anda juga perlu Object Storage.

  • Jika Anda ingin provision datastore pada volume blok-storage, Anda juga perlu Block Storage.

Prasyarat (Prerequisite)

Sebelum Anda menginstal dan mengkonfigurasi layanan Database, Anda harus membuat database, kredensial layanan, dan endpoints API.

  1. Untuk membuat database, lakukan langkah-langkah berikut:

    • Gunakan klien akses database untuk berhubung ke server database sebagai root user:

      $ mysql -u root -p
      
    • Buat database trove:

      CREATE DATABASE trove;
      
    • Beri akses yang tepat untuk database trove:

      GRANT ALL PRIVILEGES ON trove.* TO 'trove'@'localhost' \
        IDENTIFIED BY 'TROVE_DBPASS';
      GRANT ALL PRIVILEGES ON trove.* TO 'trove'@'%' \
        IDENTIFIED BY 'TROVE_DBPASS';
      

      Ganti TROVE_DBPASS dengan password yang sesuai.

    • Keluarlah dari client untuk mengakses database.

  2. Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:

    $ source admin-openrc.sh
    
  3. Untuk membuat kredensial layanan, selesaikanlah langkah-langkah ini:

    • Buat user trove:

      $ openstack user create --domain default --password-prompt trove
      User Password:
      Repeat User Password:
      +-----------+-----------------------------------+
      | Field     | Value                             |
      +-----------+-----------------------------------+
      | domain_id | default                           |
      | enabled   | True                              |
      | id        | ca2e175b851943349be29a328cc5e360  |
      | name      | trove                             |
      +-----------+-----------------------------------+
      
    • Tambah peran admin ke user trove:

      $ openstack role add --project service --user trove admin
      

      Catatan

      Command ini tidak memberikan output.

    • Buat entitas layanan trove:

      $ openstack service create --name trove \
        --description "Database" database
      +-------------+-----------------------------------+
      | Field       | Value                             |
      +-------------+-----------------------------------+
      | description | Database                          |
      | enabled     | True                              |
      | id          | 727841c6f5df4773baa4e8a5ae7d72eb  |
      | name        | trove                             |
      | type        | database                          |
      +-------------+-----------------------------------+
      
  4. Buat endpoints API di layanan Database:

    $ openstack endpoint create --region RegionOne \
      database public http://controller:8779/v1.0/%\(tenant_id\)s
    +--------------+----------------------------------------------+
    | Field        | Value                                        |
    +--------------+----------------------------------------------+
    | enabled      | True                                         |
    | id           | 3f4dab34624e4be7b000265f25049609             |
    | interface    | public                                       |
    | region       | RegionOne                                    |
    | region_id    | RegionOne                                    |
    | service_id   | 727841c6f5df4773baa4e8a5ae7d72eb             |
    | service_name | trove                                        |
    | service_type | database                                     |
    | url          | http://controller:8779/v1.0/%\(tenant_id\)s  |
    +--------------+----------------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      database internal http://controller:8779/v1.0/%\(tenant_id\)s
    +--------------+----------------------------------------------+
    | Field        | Value                                        |
    +--------------+----------------------------------------------+
    | enabled      | True                                         |
    | id           | 9489f78e958e45cc85570fec7e836d98             |
    | interface    | internal                                     |
    | region       | RegionOne                                    |
    | region_id    | RegionOne                                    |
    | service_id   | 727841c6f5df4773baa4e8a5ae7d72eb             |
    | service_name | trove                                        |
    | service_type | database                                     |
    | url          | http://controller:8779/v1.0/%\(tenant_id\)s  |
    +--------------+----------------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      database admin http://controller:8779/v1.0/%\(tenant_id\)s
    +--------------+----------------------------------------------+
    | Field        | Value                                        |
    +--------------+----------------------------------------------+
    | enabled      | True                                         |
    | id           | 76091559514b40c6b7b38dde790efe99             |
    | interface    | admin                                        |
    | region       | RegionOne                                    |
    | region_id    | RegionOne                                    |
    | service_id   | 727841c6f5df4773baa4e8a5ae7d72eb             |
    | service_name | trove                                        |
    | service_type | database                                     |
    | url          | http://controller:8779/v1.0/%\(tenant_id\)s  |
    +--------------+----------------------------------------------+
    

Instal dan konfigurasi komponen

Catatan

File konfigurasi default bervariasi menurut distribusi. Anda mungkin perlu menambahkan bagian dan opsi ini daripada memodifikasi bagian dan opsi yang ada. Juga, elipsis (`` ... ``) dalam cuplikan konfigurasi menunjukkan opsi konfigurasi default potensial dimana Anda harus mempertahankan.

  1. Instal paket:

    # apt-get update
    
    # apt-get install python-trove python-troveclient \
      python-glanceclient trove-common trove-api trove-taskmanager \
      trove-conductor
    
  1. Dalam direktori /etc/trove`, edit file ``trove.conf, trove-taskmanager.conf dan trove-conductor.conf dan lakukan langkah-langkah berikut:

    • Beri nilai yang sesuai untuk pengaturan berikut:

      [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/v1
      swift_url = http://controller:8080/v1/AUTH_
      notifier_queue_hostname = controller
      ...
      [database]
      connection = mysql://trove:TROVE_DBPASS@controller/trove
      
    • Lakukan konfigurasi layanan Database untuk menggunakan perantar pesan (message broker) RabbitMQ dengan menetapkan opsi berikut di setiap file:

      [DEFAULT]
      ...
      rpc_backend = rabbit
      
      [oslo_messaging_rabbit]
      ...
      rabbit_host = controller
      rabbit_userid = openstack
      rabbit_password = RABBIT_PASS
      
  2. Pastikan bahwa file api-paste.ini hadir dalam /etc/trove.

    Jika file tidak hadir, Anda bisa mendapatkannya dari sini `location <http://git.openstack.org/cgit/openstack/trove/plain/etc/trove/api-paste.ini?h=stable/mitaka> `__.

  3. Edit file trove.conf sehingga mencakup nilai-nilai yang sesuai untuk pengaturan di bawah ini:

    [DEFAULT]
    auth_strategy = keystone
    ...
    # Config option for showing the IP address that nova doles out
    add_addresses = True
    network_label_regex = ^NETWORK_LABEL$
    ...
    api_paste_config = /etc/trove/api-paste.ini
    ...
    [keystone_authtoken]
    ...
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = trove
    password = TROVE_PASS
    
  4. Edit file trove-taskmanager.conf sehingga mencakup pengaturan yang diperlukan untuk terhubung ke layanan OpenStack Compute seperti yang ditunjukkan di bawah ini:

    [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
    nova_proxy_admin_tenant_name = service
    taskmanager_manager = trove.taskmanager.manager.Manager
    
  5. Edit file /etc/trove/trove-guestagent.conf sehingga tamu ‘future trove’ dapat terhubung ke lingkungan OpenStack Anda:

    rabbit_host = controller
    rabbit_password = RABBIT_PASS
    nova_proxy_admin_user = admin
    nova_proxy_admin_pass = ADMIN_PASS
    nova_proxy_admin_tenant_name = service
    trove_auth_url = http://controller:35357/v2.0
    
  6. Lakukan pengisian trove database yang Anda buat sebelumnya dalam prosedur ini:

    # su -s /bin/sh -c "trove-manage db_sync" trove
      ...
      2016-04-06 22:00:17.771 10706 INFO trove.db.sqlalchemy.migration [-]
      Upgrading mysql://trove:dbaasdb@controller/trove to version latest
    

    Catatan

    Mengabaikan semua pesan bantahan dalam output ini.

Finalisasi instalasi

  1. Karena ada bug dalam paket Ubuntu, edit file definisi layanan untuk menggunakan pengaturan konfigurasi yang benar.

    Untuk melakukan hal ini, arahkan ke /etc/init dan edit file-file berikut seperti yang dijelaskan di bawah ini:

    trove-taskmanager.conf

    trove-conductor.conf

    (Perhatikan bahwa, meskipun mereka memiliki nama yang sama, file-file ini berada di lokasi yang berbeda dan memiliki konten yang berbeda dari file bernama sama Anda diedit sebelumnya dalam prosedur ini.)

    Dalam setiap file, cari baris ini:

    exec start-stop-daemon --start --chdir /var/lib/trove \
       --chuid trove:trove --make-pidfile \
       --pidfile /var/run/trove/trove-conductor.pid \
       --exec /usr/bin/trove-conductor -- \
       --config-file=/etc/trove/trove.conf ${DAEMON_ARGS}
    

    Perhatikan bahwa --config-file secara salah menunjuk ke trove.conf.

    Dalam trove-taskmanager.conf, edit config-file untuk menunjuk ke /etc/trove/trove-taskmanager.conf.

    Dalam trove-conductor.conf, edit config-file untuk menunjuk ke /etc/trove/trove-conductor.conf.

  2. Restart layanan Database:

    # service trove-api restart
    # service trove-taskmanager restart
    # service trove-conductor restart
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.