From d4af2e27d2431aa64c3390700702f42b6b38f13e Mon Sep 17 00:00:00 2001 From: Serguei Bezverkhi Date: Mon, 13 Feb 2017 10:10:51 -0500 Subject: [PATCH] Fixing ironic configs for kolla-kubernetes Fixing ironic configs for kolla-kubernetes Change-Id: Id1b1cc3bb3c1790a77f9449ec5b0b5d1c67f91e4 Closes-Bug: #1664269 --- ansible/roles/ironic/templates/ironic.conf.j2 | 26 +++++++++++++++++-- ansible/roles/nova/templates/nova.conf.j2 | 12 +++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/ansible/roles/ironic/templates/ironic.conf.j2 b/ansible/roles/ironic/templates/ironic.conf.j2 index f2155c1d60..30505e2a74 100644 --- a/ansible/roles/ironic/templates/ironic.conf.j2 +++ b/ansible/roles/ironic/templates/ironic.conf.j2 @@ -8,17 +8,26 @@ admin_password = {{ keystone_admin_password }} enabled_drivers = pxe_ipmitool -transport_url = rabbit://{% for host in groups['rabbitmq'] %}{{ rabbitmq_user }}:{{ rabbitmq_password }}@{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %} +transport_url = rabbit://{% for host in groups['rabbitmq'] %}{{ rabbitmq_user }}:{{ rabbitmq_password }}@{% if orchestration_engine == 'KUBERNETES' %}rabbitmq{% else %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}{% endif %}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %} {% if service_name == 'ironic-api' %} [api] + +{% if orchestration_engine != 'KUBERNETES' %} host_ip = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }} +{% else %} +host_ip = 0.0.0.0 +{% endif %} api_workers = {{ openstack_service_workers }} {% endif %} {% if service_name == 'ironic-conductor' %} [conductor] +{% if orchestration_engine != 'KUBERNETES' %} api_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ ironic_api_port }} +{% else %} +api_url = {{ internal_protocol }}://ironic-api:{{ ironic_api_port }} +{% endif %} automated_clean=false {% endif %} @@ -27,8 +36,13 @@ connection = mysql+pymysql://{{ ironic_database_user }}:{{ ironic_database_passw max_retries = -1 [keystone_authtoken] +{% if orchestration_engine == 'KUBERNETES' %} +auth_uri = {{ keystone_internal_url }} +auth_url = {{ keystone_admin_url }} +{% else %} auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }} auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }} +{% endif %} auth_type = password project_domain_id = default user_domain_id = default @@ -38,14 +52,22 @@ password = {{ ironic_keystone_password }} memcache_security_strategy = ENCRYPT memcache_secret_key = {{ memcache_secret_key }} +{% if orchestration_engine == 'KUBERNETES' %} +memcache_servers = {{ memcached_servers }} +{% else %} memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %} +{%- endif %} [glance] -glance_host = {{ kolla_internal_fqdn }} +glance_host = {% for host in groups['glance-api'] %}{{ internal_protocol }}://{% if orchestration_engine == 'KUBERNETES' %}glance-api{% else %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}{% endif %}:{{ glance_api_port }}{% if not loop.last %},{% endif %}{% endfor %} [neutron] +{% if orchestration_engine == 'KUBERNETES' %} +url = {{ internal_protocol }}://neutron-server:{{ neutron_server_port }} +{% else %} url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }} +{% endif %} cleaning_network = {{ ironic_cleaning_network }} [inspector] diff --git a/ansible/roles/nova/templates/nova.conf.j2 b/ansible/roles/nova/templates/nova.conf.j2 index 920c242964..6b91bd0cc0 100644 --- a/ansible/roles/nova/templates/nova.conf.j2 +++ b/ansible/roles/nova/templates/nova.conf.j2 @@ -40,7 +40,11 @@ ram_allocation_ratio = 1.0 reserved_host_memory_mb = 0 {% elif enable_nova_fake | bool %} scheduler_default_filters = RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter +{% if orchestration_engine == 'KUBERNETES' %} +host = empty +{% else %} host = {{ ansible_hostname }}_{{ item }} +{% endif %} compute_driver = fake.FakeDriver {% else %} compute_driver = libvirt.LibvirtDriver @@ -102,12 +106,20 @@ proxyclient_address = {{ hostvars[inventory_hostname]['ansible_' + api_interface [ironic] username = {{ ironic_keystone_user }} password = {{ ironic_keystone_password }} +{% if orchestration_engine == 'KUBERNETES' %} +auth_url = {{ keystone_admin_url }} +{% else %} auth_url = {{ openstack_auth.auth_url }}/v3 +{% endif %} auth_type = password project_name = service user_domain_name = default project_domain_name = default +{% if orchestration_engine != 'KUBERNETES' %} api_endpoint = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ ironic_api_port }}/v1 +{% else %} +api_endpoint = {{ internal_protocol }}://ironic-api:{{ ironic_api_port }}/v1 +{% endif %} {% endif %} [oslo_concurrency]