kolla-ansible
배포시 Create security groups for octavia
단계에서 아래와 같은 오류가 발생하는 경우가 있다.
TASK [octavia : Create security groups for octavia] ********************************************************************************************************************************************************* fatal: [tp-control1 -> {{ groups['octavia-api'][0] }}]: FAILED! => {"msg": "The conditional check 'item.enabled | bool' failed. The error was: error while evaluating conditional (item.enabled | bool): 'dict object' has no attribute 'enabled'\n\nThe error appears to be in '/usr/local/share/kolla-ansible/ansible/roles/octavia/tasks/prepare.yml': line 57, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Create security groups for octavia\n ^ here\n"}
이 문제가 발생하는 이유는 해당 작업에 필요한 파라메터 값이 globals.yml
내에 존재하지 않아서 발생하는 문제이다.
globals.yml
파일내에 octavia security group 선언부분에 enabled: true
를 추가하여야 한다.
기본 제공되는 globals.yml
파일에 누락된것으로 보이며 차후 패치될 것이다.
아래 내용을 참고하도록 한다.
# Octavia security groups. lb-mgmt-sec-grp is for amphorae. # lb-health-mgr-sec-grp is used for health manager ports. octavia_amp_security_groups: mgmt-sec-grp: name: "lb-mgmt-sec-grp" enabled: true rules: - protocol: icmp - protocol: tcp src_port: 22 dst_port: 22 - protocol: tcp src_port: "{{ octavia_amp_listen_port }}" dst_port: "{{ octavia_amp_listen_port }}" health-mgr-sec-grp: name: "lb-health-mgr-sec-grp" enabled: "{{ true if octavia_network_type == 'tenant' else false }}" rules: - protocol: udp src_port: "{{ octavia_health_manager_port }}" dst_port: "{{ octavia_health_manager_port }}"