@startuml frame "python-tackerclient" { component "tacker-client" as client } frame "tacker" { component "tacker-server" { component "server" as serv } component "tacker-conductor" { component "conductor" as cond component "OpenStack\ninfra-driver" as infra } } node "OpenStack\nHeat" as heat cloud "Hardware Resources" as hw { node "VM" as ins1 node "VM" as ins2 } '# Relationships client --> serv: 1. Request\n scale VNF serv --> cond cond --> infra infra -right-> heat: 2. Call OpenStack\n Heat API heat --> ins1: 3. Change the\n number of\n VMs ins1 -[hidden]right-> ins2 @enduml