Upgrade dari database layanan Networking diimplementasikan dengan Alembic migration chain. Migrasi di alembic/versions berisi perubahan yang dibutuhkan untuk bermigrasi dari layanan Networking rilis tua ke yang lebih baru.
Sejak Liberty, Networking mempertahankan dua cabang migrasi Alembic paralel.
Cabang pertama disebut memperluas dan digunakan untuk menyimpan aturan migrasi ekspansi-satunya. Aturan-aturan ini secara ketat aditif dan dapat diterapkan selagi server Neutron berjalan.
Cabang kedua disebut kontrak dan digunakan untuk menyimpan aturan-aturan migrasi yang tidak aman untuk menerapkan sementara Neutron server berjalan.
Maksud dari cabang terpisah adalah untuk memungkinkan memohon mereka migrasi yang aman dari masalah perluasan cabang selagi server Neutron berjalan dan karena itu mengurangi downtime yang dibutuhkan untuk meng-upgrade layanan.
Sebuah alat command-line manajemen database menggunakan perpustakaan Alembic untuk mengelola migrasi.
Alat command-line manajemen database disebut neutron-db-manage. Melulus opsi :option: –help ke alat untuk informasi penggunaan.
Alat ini mengambil beberapa pilihan yang diikuti oleh beberapa commands:
$ neutron-db-manage <options> <commands>
Alat ini perlu mengakses string koneksi database, yang disediakan dalam file konfigurasi neutron.conf di instalasi. Alat ini secara otomatis membaca dari /etc/neutron/neutron.conf jika hadir. Jika konfigurasi ini berada di lokasi yang berbeda, gunakan command berikut:
$ neutron-db-manage --config-file /path/to/neutron.conf <commands>
Beberapa opsi :option: –config-file dapat dilalui jika diperlukan.
Sebagai ganti membaca koneksi DB dari file konfigurasi, Anda dapat menggunakan: opsi: opsi –database-connection:
$ neutron-db-manage --database-connection
mysql+pymysql://root:secret@127.0.0.1/neutron?charset=utf8 <commands>
Semua command branches,`current`, dan history menerima opsi --verbose, ketika melewati, yang akan menginstruksikan: command: neutron-db-manage untuk menampilkan output yang lebih verbose untuk command yang ditentukan:
$ neutron-db-manage current --verbose
Catatan
Contoh penggunaan alat di bawah ini tidak menunjukkan pilihan. Hal ini diasumsikan bahwa Anda menggunakan pilihan yang Anda butuhkan untuk lingkungan Anda.
Dalam pengerahan baru, Anda mulai dengan database kosong dan kemudian meng-upgrade ke versi terbaru database menggunakan command berikut:
$ neutron-db-manage upgrade heads
Setelah menginstal versi baru dari server Neutron, meng-upgrade database menggunakan command berikut:
$ neutron-db-manage upgrade heads
Dalam pengerahan yang ada, periksa versi database saat menggunakan command berikut:
$ neutron-db-manage current
Untuk menerapkan aturan migrasi ekspansi, gunakan command berikut:
$ neutron-db-manage upgrade --expand
Untuk menerapkan aturan non-expansive migration, gunakan command berikut:
$ neutron-db-manage upgrade --contract
Untuk memeriksa apakah ada migrasi kontrak yang tertunda dan jika migrasi secara offline diperlukan, gunakan command berikut:
$ neutron-db-manage has_offline_migrations
Catatan
Migrasi Offline memerlukan semua instance Neutron server dalam cluster untuk shutdown sebelum Anda menerapkan script kontrak.
Untuk menghasilkan script command dari pada operasi segera pada database, gunakan command berikut:
$ neutron-db-manage upgrade heads --sql
.. note::
The `--sql` option causes the command to generate a script. The script
can be run later (online or offline), perhaps after verifying and/or
modifying it.
Untuk bermigrasi antar versi migrasi tertentu, gunakan command berikut:
$ neutron-db-manage upgrade <start version>:<end version>
Untuk meng-upgrade database secara bertahap, gunakan command berikut:
$ neutron-db-manage upgrade --delta <# of revs>
Catatan
Database downgrade tidak didukung.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.