Примеры практических решений с использованием интерфейса командной строки (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-fdd36690d72f
      
    4. В свойствах порта или инстанса мы видим новый, назначенный нами 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 |
    ...
    +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+