Примеры практических решений с использованием интерфейса командной строки (CLI)¶
Изменение IP адреса, назначенного на порт инстанса¶
Примечание
Привязка IP адреса в Openstack осуществляется не к инстансу напрямую, а к порту который инстансу назначен. Поэтому, для изменения IP адреса по которому должен быть доступен инстанс, нужно произвести смену IP адреса для порта.
Используемые команды:
- Показать свойства проекта
openstack project show <ProjectName>
- где
<ProjectName> - имя облачного проекта
- Показать список портов для проекта
openstack port list --project <ProjectID>
- где
<ProjectID> - идентификатор облачного проекта
- Удалить текущий фиксированный IP адрес порта
openstack port set --no-fixed-ip <PortID>
- где
<PortID> - идентификатор порта для которого будет измененено значение IP адреса
- Назначить фиксированный IP адрес для порта
openstack port set --fixed-ip subnet=<SubnetID>,ip-address=<IPaddress> <PortID>
- где
<SubnetID> - идентификатор подсети из диапазона которой будет выделяться IP адрес<IPaddress> - IP адрес который будет назначен на порт<PortID> - идентификатор порта для которого будет назначен IP адресИсходные данные:
- «demo» - имя проекта
- 10.100.100.4 - текущий IP адрес
- 10.100.100.8 - новый IP адрес, на который мы хотим изменить текущий
Порядок действий:
1. Определить идентификатор проекта по имени проектаopenstack project show demo +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | | | domain_id | b90911e0cc464e4d83c04bed2febc37a | | enabled | True | | id | a84030ae422a4173b4d0e7495cda2581 | | is_domain | False | | name | demo | | parent_id | b90911e0cc464e4d83c04bed2febc37a | +-------------+----------------------------------+
- Значение в поле «id» (a84030ae422a4173b4d0e7495cda2581) - это наш идентификатор
2. Получить список портов для проекта и их параметры$ openstack port list --project a84030ae422a4173b4d0e7495cda2581 +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+ | ID | Name | MAC Address | Fixed IP Addresses | Status | +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+ ... | c9153547-e72a-4f20-8792-6f6574d5baff | | fa:16:3e:a6:d0:0d | ip_address='172.16.0.3', subnet_id='17f8d13a-31cd-494d-a161-95e360ad3cd8' | ACTIVE | | 27ad2d67-e35f-4b6f-877f-fdd36690d72f | | fa:16:3e:22:93:a6 | ip_address='10.100.100.4', subnet_id='8e82d9b3-0757-4ddc-9cf7-c82f1024d277' | ACTIVE | ... +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+
- Выбираем необходимые нам данные:
Значение «ID» (c95d4d1d-233b-4322-8b3a-d77df89b3bf1) — это наш <PortID> Значение «ip_address» (10.100.100.4) - это наш <IPaddress> Значение «subnet_id» (8e82d9b3-0757-4ddc-9cf7-c82f1024d277) - это наш <SubnetID>3. Теперь, зная все необходимые данные мы:
Удаляем старое значение IP адреса для нашего порта
openstack port set --no-fixed-ip 27ad2d67-e35f-4b6f-877f-fdd36690d72fНазначаем нужный нам IP на порт
openstack port set --fixed-ip subnet=8e82d9b3-0757-4ddc-9cf7-c82f1024d277,ip-address=10.100.100.8 27ad2d67-e35f-4b6f-877f-fdd36690d72f4. В свойствах порта или инстанса мы видим новый, назначенный нами IP адрес:$ openstack port list --project a84030ae422a4173b4d0e7495cda2581 +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+ | ID | Name | MAC Address | Fixed IP Addresses | Status | +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+ ... | c9153547-e72a-4f20-8792-6f6574d5baff | | fa:16:3e:a6:d0:0d | ip_address='172.16.0.3', subnet_id='17f8d13a-31cd-494d-a161-95e360ad3cd8' | ACTIVE | | 27ad2d67-e35f-4b6f-877f-fdd36690d72f | | fa:16:3e:22:93:a6 | ip_address='10.100.100.8', subnet_id='8e82d9b3-0757-4ddc-9cf7-c82f1024d277' | ACTIVE | ... +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+