Description of problem: OpenShift on OpenStack with native OpenStack Neutron networking via Kuryr requires the creation and management of OpenStack Neutron resources in the deployment step. This RFE is about extending OpenShift Ansible Heat templates to create the necessary Neutron resources and using those resources to automatically configure most of the Kuryr-Kubernetes OpenShift Ansible Support. Steps to Reproduce: 1. Place Kuryr usage options in the inventory 2. ansible-playbook playbooks/byo/config.yml -vvv Actual results: Not implemented Expected results: Have Kuryr-controller and CNI daemon ConfigMaps with the right configuration stemming from the Heat created resources. Actual results: Please include the entire output from the last TASK line through the end of output if an error is generated
This has been implemented. Testing instructions: 1. Configure the Kuryr SDN in the openshift-ansible inventory all.yml: openshift_use_kuryr: True openshift_use_openshift_sdn: False openshift_master_open_ports: - service: dns tcp port: 53/tcp - service: dns udp port: 53/udp openshift_node_open_ports: - service: dns tcp port: 53/tcp - service: dns udp port: 53/udp use_trunk_ports: True os_sdn_network_plugin_name: cni openshift_node_proxy_mode: userspace openshift_hosted_manage_registry: false # # Kuryr needs to know the subnet you will be taking Floating IPs for the # loadbalancer services from. kuryr_openstack_public_subnet_id: cdbd1855-0b23-4ddc-8186-e10a963156b8 openshift_kuryr_precreate_subports: 5 openshift_kuryr_device_owner: compute:kuryr enable_kuryr_controller_probes: False enable_kuryr_cni_probes: False 2. Run the openshift-ansible/playbooks/openstack/openshift-cluster/provision_install.yml playbook Verification: 1. The playbook must finish without errors. 2. Running `oc get pod -n openshift-infra` while SSHd into a master node. It should list one CNI pod for every OpenShift node and a single kuryr-controller pod
Verified in openshift-ansible-3.10.0-0.53.0.git.0.53fe016.el7.noarch and openshift-ansible-playbooks-3.10.0-0.53.0.git.0.53fe016.el7.noarch. Verification steps: 1. Configure the Kuryr SDN in the openshift-ansible inventory all.yml: openshift_use_kuryr: True openshift_use_openshift_sdn: False openshift_master_open_ports: - service: dns tcp port: 53/tcp - service: dns udp port: 53/udp openshift_node_open_ports: - service: dns tcp port: 53/tcp - service: dns udp port: 53/udp use_trunk_ports: True os_sdn_network_plugin_name: cni openshift_node_proxy_mode: userspace openshift_hosted_manage_registry: false # # Kuryr needs to know the subnet you will be taking Floating IPs for the # loadbalancer services from. kuryr_openstack_public_net_id: dd5a700a-a0bf-4e18-b6db-a59f4063f7b4 openshift_kuryr_precreate_subports: 5 openshift_kuryr_device_owner: compute:kuryr enable_kuryr_controller_probes: False enable_kuryr_cni_probes: False 2. Run the openshift-ansible openstack playbook (deployed 1 master, 1 infra and 2 app nodes) 3. Verify kuryr controller and cni pods are ready and running: [openshift@master-0 ~]$ oc get pod -n openshift-infra NAME READY STATUS RESTARTS AGE bootstrap-autoapprover-0 1/1 Running 0 16h kuryr-cni-ds-bcvrp 1/1 Running 0 16h kuryr-cni-ds-hnqw2 1/1 Running 0 16h kuryr-cni-ds-jvn5x 1/1 Running 0 16h kuryr-cni-ds-kjxnv 1/1 Running 0 16h kuryr-controller-65c98f7444-vv5l8 1/1 Running 0 16h