S příslušnými oprávněními může uživatel spustit virtuální počítač na zadaném hostitelském/výpočtovém uzlu v OpenStack Mitaka. Vše, co musíte udělat, je použít –availability_zone zone:host argument při provádění openstack server create příkaz jak je uvedeno níže:
$openstack server create --image --flavor m1.tiny --key_name test --availability-zone nova:compute3
Chcete-li provést tuto operaci, je třeba nastavit, které role mohou spustit instanci na zadaném hostiteli pomocí create:forced_host možnost v policy.json ve složce konfigurace nova. Ve výchozím nastavení je tato možnost povolena pouze pro administrátora role.
Otevřete tedy soubor /etc/nova/policy.json soubor a změňte následující řádek:
"compute:create:forced_host": "is_admin:True",
do
"compute:create:forced_host": "",
Poté vypište platné výpočetní hostitele pomocí níže uvedeného příkazu:
$ openstack hypervisor list +----+----------------------------+ | ID | Hypervisor Hostname | +----+----------------------------+ | 1 | compute2 | | 2 | compute3 | +----+----------------------------+
Nyní pomocí názvu serveru z výše uvedeného seznamu a vynucení instance na konkrétním hostiteli.
$ openstack server create --flavor m1.small --image cirros --key-name mykey --nic net-id=9381abae-e0c5-4844-b605-da6b04ce9a36 --security-group default --availability-zone nova:compute3 ubuntu1-on-compute3
OK! Počkejte. Výše uvedený příkaz s chybovou zprávou:
Policy doesn't allow os_compute_api:servers:create:forced_host to be performed. (HTTP 403) (Request-ID: req-993cd21d-e546-4e68-bad7-3ebc70bfd18a)
Jasně ukazuje, že zásady nastavené správcem neumožňují běžnému uživateli naplánovat instanci na konkrétní uzel. Řešením je vytvořit pravidlo, které i běžnému uživateli umožní naplánovat virtuální počítač na konkrétního hostitele, jak je uvedeno níže:
Otevřete soubor /etc/nova/policy.json soubor na uzlu řadiče a změňte jej na níže uvedený:
"os_compute_api:servers:create:forced_host": "rule:admin_api",
do
"os_compute_api:servers:create:forced_host": "",
A restartujte nova-api službu, jak je uvedeno níže:
#/etc/init.d/nova-api restart
Poznámka:Tyto změny není nutné provádět ve výpočetních uzlech.
Nyní jako normální uživatel byste měli být schopni spustit virtuální počítač na konkrétním hostiteli.