Bug 1503708 - [RFE] Integrate networking Heat templates and Kuryr-Kubernetes config templates into OpenShift Ansible
Summary: [RFE] Integrate networking Heat templates and Kuryr-Kubernetes config templat...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: RFE
Version: unspecified
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 3.10.0
Assignee: Antoni Segura Puimedon
QA Contact: Jon Uriarte
URL:
Whiteboard:
Depends On: 1503243 1503667
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-10-18 14:57 UTC by Antoni Segura Puimedon
Modified: 2018-12-20 21:41 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-12-20 21:41:28 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Antoni Segura Puimedon 2017-10-18 14:57:47 UTC
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

Comment 1 Tomas Sedovic 2018-05-04 13:01:06 UTC
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

Comment 2 Jon Uriarte 2018-05-31 08:01:15 UTC
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


Note You need to log in before you can comment on or make changes to this bug.