diff --git a/libraries/k8s.robot b/libraries/k8s.robot
index c2067ae..765a31b 100644
--- a/libraries/k8s.robot
+++ b/libraries/k8s.robot
@@ -29,13 +29,15 @@
 Lookup Service IP
     [Arguments]    ${namespace}    ${name}
     [Documentation]    Uses kubeclt to resolve a service name to an IP
-    ${rc}    ${ip}=    Run and Return Rc and Output    kubectl get svc -n ${namespace} ${name} -o jsonpath={.spec.clusterIP}
+    ${rc}    ${ip}=    Run and Return Rc and Output
+    ...    kubectl get svc -n ${namespace} ${name} -o jsonpath={.spec.clusterIP}
     Should Be Equal as Integers    ${rc}    0
     [Return]    ${ip}
 
 Lookup Service PORT
     [Arguments]    ${namespace}    ${name}
     [Documentation]    Uses kubeclt to resolve a service name to an PORT
-    ${rc}    ${port}=    Run and Return Rc and Output    kubectl get svc -n ${namespace} ${name} -o jsonpath={.spec.ports[0].port}
+    ${rc}    ${port}=    Run and Return Rc and Output
+    ...    kubectl get svc -n ${namespace} ${name} -o jsonpath={.spec.ports[0].port}
     Should Be Equal as Integers    ${rc}    0
     [Return]    ${port}
diff --git a/libraries/onos.robot b/libraries/onos.robot
index 0647ada..67ae0af 100644
--- a/libraries/onos.robot
+++ b/libraries/onos.robot
@@ -90,13 +90,15 @@
 Verify Eapol Flows Added
     [Arguments]    ${ip}    ${port}    ${expected_flows}
     [Documentation]    Matches for number of eapol flows based on number of onus
-    ${eapol_flows_added}=    Execute ONOS CLI Command    ${ip}    ${port}    flows -s -f ADDED | grep eapol | grep IN_PORT | wc -l
+    ${eapol_flows_added}=    Execute ONOS CLI Command    ${ip}    ${port}
+    ...    flows -s -f ADDED | grep eapol | grep IN_PORT | wc -l
     Should Contain    ${eapol_flows_added}    ${expected_flows}
 
 Verify Eapol Flows Added For ONU
     [Arguments]    ${ip}    ${port}    ${onu_port}
     [Documentation]    Verifies if the Eapol Flows are added in ONOS for the ONU
-    ${eapol_flows_added}=    Execute ONOS CLI Command    ${ip}    ${port}    flows -s -f ADDED | grep eapol | grep IN_PORT:${onu_port}
+    ${eapol_flows_added}=    Execute ONOS CLI Command    ${ip}    ${port}
+    ...    flows -s -f ADDED | grep eapol | grep IN_PORT:${onu_port}
     Should Not Be Empty    ${eapol_flows_added}
 
 Verify ONU in AAA-Users
@@ -123,5 +125,6 @@
     [Arguments]    ${ip}    ${port}    ${onu_port}
     [Documentation]    Verifies that the specified subscriber is found in DHCP allocations
     ##TODO: Enhance the keyword to include DHCP allocated address is not 0.0.0.0
-    ${allocations}=    Execute ONOS CLI Command    ${ip}    ${port}    dhcpl2relay-allocations | grep DHCPACK | grep ${onu_port}
-    Should Not Be Empty    ${allocations}     ONU port ${onu_port} not found in dhcpl2relay-allocations
+    ${allocations}=    Execute ONOS CLI Command    ${ip}    ${port}
+    ...    dhcpl2relay-allocations | grep DHCPACK | grep ${onu_port}
+    Should Not Be Empty    ${allocations}    ONU port ${onu_port} not found in dhcpl2relay-allocations
diff --git a/libraries/utils.robot b/libraries/utils.robot
index e303379..db67643 100644
--- a/libraries/utils.robot
+++ b/libraries/utils.robot
@@ -31,4 +31,5 @@
     # check voltctl and kubectl configured
     ${voltctl_rc}=    Run And Return RC    ${VOLTCTL_CONFIG}; voltctl device list
     ${kubectl_rc}=    Run And Return RC    ${KUBECTL_CONFIG}; kubectl get pods
-    Run Keyword If    ${voltctl_rc} != 0 or ${kubectl_rc} != 0    FATAL ERROR    VOLTCTL and KUBECTL not configured. Please configure before executing tests.
+    Run Keyword If    ${voltctl_rc} != 0 or ${kubectl_rc} != 0    FATAL ERROR
+    ...    VOLTCTL and KUBECTL not configured. Please configure before executing tests.
diff --git a/libraries/voltctl.robot b/libraries/voltctl.robot
index d72a4fc..5600f06 100644
--- a/libraries/voltctl.robot
+++ b/libraries/voltctl.robot
@@ -30,7 +30,8 @@
     [Arguments]    ${ip}    ${port}
     [Documentation]    Creates a device in VOLTHA
     #create/preprovision device
-    ${rc}    ${device_id}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device create -t openolt -H ${ip}:${port}
+    ${rc}    ${device_id}=    Run and Return Rc and Output
+    ...    ${VOLTCTL_CONFIG}; voltctl device create -t openolt -H ${ip}:${port}
     Should Be Equal As Integers    ${rc}    0
     [Return]    ${device_id}
 
@@ -68,7 +69,8 @@
     Should Be Equal As Integers    ${rc2}    0
 
 Validate Device
-    [Arguments]    ${serial_number}    ${admin_state}    ${oper_status}    ${connect_status}    ${onu_reasons}=${EMPTY}    ${onu}=False
+    [Arguments]    ${serial_number}    ${admin_state}    ${oper_status}    ${connect_status}    ${onu_reasons}=${EMPTY}
+    ...    ${onu}=False
     [Documentation]    Parses the output of "voltctl device list" and inspects device ${serial_number}
     ...    Arguments are matched for device states of: "admin_state", "oper_status", and "connect_status"
     ${output}=    Run    ${VOLTCTL_CONFIG}; voltctl device list -o json
@@ -86,8 +88,10 @@
     END
     Should Be Equal    ${astate}    ${admin_state}    Device ${serial_number} admin_state != ENABLED    values=False
     Should Be Equal    ${opstatus}    ${oper_status}    Device ${serial_number} oper_status != ACTIVE    values=False
-    Should Be Equal    ${cstatus}    ${connect_status}    Device ${serial_number} connect_status != REACHABLE    values=False
-    Run Keyword If    '${onu}' == 'True'    Should Contain    ${onu_reasons}    ${mib_state}    Device ${serial_number} mib_state incorrect    values=False
+    Should Be Equal    ${cstatus}    ${connect_status}    Device ${serial_number} connect_status != REACHABLE
+    ...    values=False
+    Run Keyword If    '${onu}' == 'True'    Should Contain    ${onu_reasons}    ${mib_state}
+    ...    Device ${serial_number} mib_state incorrect    values=False
 
 Get Device ID From SN
     [Arguments]    ${serial_number}
