OpenDaylight Contributor 2022 Practice Exam, Exams of Technology

This exam simulates contributing to the OpenDaylight (ODL) SDN controller project in 2022. Tasks include building ODL components, working with OSGi modules, creating YANG models, editing southbound/northbound plugin code, testing controller functionalities, improving documentation, and participating in project reviews. Candidates also practice cross-project collaboration and following LFN contribution guidelines.

Typology: Exams

2025/2026

Available from 01/11/2026

shilpi-jain-1
shilpi-jain-1 🇮🇳

4.2

(5)

29K documents

1 / 89

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
OpenDaylight Contributor 2022 Practice
Exam
**Question 1.** Which SDN principle separates the control logic from the forwarding
hardware?
A) Network Function Virtualization
B) ControlPlane/DataPlane separation
C) Overlay networking
D) Intentbased networking
Answer: B
Explanation: SDN’s core tenet is to decouple the control plane (decision making) from the data
plane (packet forwarding) to enable centralized management.
**Question 2.** What protocol does OpenDaylight primarily use to program
OpenFlowcompatible switches?
A) BGPLS
B) NETCONF
C) OpenFlow
D) RESTCONF
Answer: C
Explanation: OpenDaylight includes an OpenFlow plugin that translates MDSAL operations into
OpenFlow messages for switches.
**Question 3.** In OpenDaylight, which layer provides northbound APIs for applications?
A) Southbound Interface Layer
B) Service Abstraction Layer (SAL)
C) Application Layer (Northbound)
D) Data Store Layer
Answer: C
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59

Partial preview of the text

Download OpenDaylight Contributor 2022 Practice Exam and more Exams Technology in PDF only on Docsity!

Exam

Question 1. Which SDN principle separates the control logic from the forwarding hardware? A) Network Function Virtualization B) Control‑Plane/Data‑Plane separation C) Overlay networking D) Intent‑based networking Answer: B Explanation: SDN’s core tenet is to decouple the control plane (decision making) from the data plane (packet forwarding) to enable centralized management. Question 2. What protocol does OpenDaylight primarily use to program OpenFlow‑compatible switches? A) BGP‑LS B) NETCONF C) OpenFlow D) RESTCONF Answer: C Explanation: OpenDaylight includes an OpenFlow plugin that translates MD‑SAL operations into OpenFlow messages for switches. Question 3. In OpenDaylight, which layer provides northbound APIs for applications? A) Southbound Interface Layer B) Service Abstraction Layer (SAL) C) Application Layer (Northbound) D) Data Store Layer Answer: C

Exam

Explanation: The northbound layer hosts applications that consume MD‑SAL services via RESTCONF or other APIs. Question 4. Which OSGi component is responsible for managing bundles in OpenDaylight? A) Karaf container B) Maven C) Git D) Jenkins Answer: A Explanation: Apache Karaf provides the runtime environment for OSGi, handling bundle lifecycle and service registration. Question 5. What does MD‑SAL stand for in OpenDaylight? A) Model‑Driven Service Access Layer B) Model‑Driven Service Abstraction Layer C) Modular Data Service Access Layer D) Multi‑Domain Service Abstraction Logic Answer: B Explanation: MD‑SAL is the Model‑Driven Service Abstraction Layer, central to ODL’s architecture. Question 6. Which datastore holds the desired configuration state in MD‑SAL? A) Operational Datastore B) Config Datastore C) Runtime Datastore D) Transactional Datastore

Exam

C) Read‑Write Transaction D) Async Transaction Answer: C Explanation: A Read‑Write Transaction ensures all operations succeed or none are applied, providing atomicity. Question 10. What is the purpose of a Data Change Listener in MD‑SAL? A) To schedule periodic datastore backups B) To react to modifications in the datastore C) To encrypt datastore entries D) To generate YANG models automatically Answer: B Explanation: Data Change Listeners are registered to receive callbacks when specific data nodes are created, updated, or deleted. Question 11. Which broker handles DOM‑based (generic) service registration in MD‑SAL? A) Binding Broker B) RPC Broker C) Notification Broker D) DOM Broker Answer: D Explanation: The DOM Broker works with generic (untyped) data structures, allowing services to be registered without generated Java bindings. Question 12. In YANG, which statement defines a reusable collection of nodes? A) container

Exam

B) list C) grouping D) leafref Answer: C Explanation: A grouping allows modelers to define a set of nodes that can be reused via the “uses” statement. Question 13. Which YANG keyword is used to declare a list of entries with a key? A) leaf-list B) list C) container D) choice Answer: B Explanation: The “list” statement defines a repeatable set of nodes, and a “key” substatement identifies each entry uniquely. Question 14. How does YANG differentiate configuration data from operational data? A) Using “config true/false” statement B) By placing them in separate modules C) Through “type operational” keyword D) Using “status” attribute Answer: A Explanation: The “config” statement (default true) marks data as configuration; setting it to false indicates operational state.

Exam

Question 18. What is the purpose of the <edit-config> operation in NETCONF? A) To delete a device B) To modify or create configuration data C) To retrieve operational state D) To initiate a firmware upgrade Answer: B Explanation: <edit-config> allows a client to create, replace, or delete configuration data on a NETCONF device. Question 19. Which Maven command compiles an OpenDaylight project? A) mvn clean install B) mvn package deploy C) mvn compile test D) mvn start karaf Answer: A Explanation: “mvn clean install” cleans previous builds and compiles the project, running unit tests and installing artifacts to the local repository. Question 20. In Apache Karaf, which command lists all installed features? A) feature:list-installed B) feature:list C) feature:show D) bundle:list Answer: B

Exam

Explanation: “feature:list” displays all features, indicating which are installed, not‑installed, or available. Question 21. What does the OSGi term “bundle” refer to? A) A Java package B) A collection of OSGi components packaged as a JAR with metadata C) A Docker image D) A Maven module Answer: B Explanation: An OSGi bundle is a JAR file containing Java classes and OSGi headers that define its lifecycle and dependencies. Question 22. Which OSGi bundle state indicates the bundle is ready to be started but not yet active? A) INSTALLED B) RESOLVED C) STARTING D) ACTIVE Answer: B Explanation: RESOLVED means all required dependencies are satisfied; the bundle can be started. Question 23. In the OpenDaylight contribution workflow, where are patches reviewed? A) GitHub Pull Requests B) Gerrit C) Bitbucket

Exam

C) Only documentation updates are permitted D) New features are prioritized over bug fixes Answer: A Explanation: During feature freeze, the code base is locked for new features; only critical bug fixes and testing continue. Question 27. Which southbound protocol does the OpenDaylight Netconf Plugin use to communicate with devices? A) SSH‑based NETCONF B) HTTP/ C) gRPC D) SNMP Answer: A Explanation: The Netconf Plugin establishes an SSH session to exchange NETCONF XML RPCs with devices. Question 28. In OpenFlow, what does a flow entry’s “match” field specify? A) The action to be taken B. The table identifier C. The packet header fields to compare D. The priority of the flow Answer: C Explanation: The match field defines which packet header fields must match for the flow to be applied. Question 29. Which OpenFlow table is the default entry point for packets?

Exam

A) Table 0 B) Table 1 C) Table 254 D) Table 255 Answer: A Explanation: Table 0 is the first table processed for incoming packets unless otherwise configured. Question 30. What is the purpose of an OpenFlow “group” entry? A) To define a collection of flow tables B) To aggregate multiple actions for a single match C) To manage device authentication D) To store configuration snapshots Answer: B Explanation: Groups allow a single flow to trigger a set of actions (e.g., select, all, indirect) applied together. Question 31. Which YANG statement is used to reference an existing leaf’s value elsewhere in the model? A) leafref B) typedef C) augment D) identityref Answer: A Explanation: leafref creates a reference to another leaf’s value, enabling cross‑node relationships.

Exam

Explanation: Model‑Driven architecture generates Java bindings and REST endpoints directly from YANG, ensuring consistency. Question 35. Which component in ODL is responsible for translating MD‑SAL RPC calls to OpenFlow messages? A) MD‑SAL Core B) OpenFlow Plugin C) Netconf Connector D) RESTCONF Server Answer: B Explanation: The OpenFlow Plugin registers RPCs with MD‑SAL and converts them into OpenFlow protocol messages. Question 36. Which ODL feature provides a graphical representation of the network topology? A) BGP‑LS Plugin B) Topology UI (DLUX) C) NETCONF Client D) OVSDB Server Answer: B Explanation: DLUX (the ODL web UI) includes a topology view that visualizes devices and links. Question 37. What does the “binding” layer in MD‑SAL refer to? A) The XML schema definitions B) Generated Java classes from YANG models C) The REST endpoint definitions

Exam

D) The OSGi service registry Answer: B Explanation: The binding layer consists of type‑safe Java APIs automatically generated from YANG modules. Question 38. In ODL, which command installs a new feature from the Karaf console? A) feature:install <feature-name> B) bundle:install <feature-name> C) install:feature <feature-name> D) karaf:install <feature-name> Answer: A Explanation: “feature:install” is the Karaf command to add a feature (set of bundles) to the running container. Question 39. Which of the following is NOT a standard southbound protocol supported by OpenDaylight? A) OpenFlow B) BGP‑LS C) SNMP D) NETCONF Answer: C Explanation: While OpenDaylight can interact with SNMP via third‑party plugins, it is not a core southbound protocol like the others listed. Question 40. What is the role of the “notification” service in MD‑SAL? A) To schedule periodic data backups

Exam

A) JUnit B) TestNG C) PyTest D) Cucumber Answer: A Explanation: ODL uses JUnit for unit testing Java components, integrated with Maven’s test lifecycle. Question 44. What is the main purpose of the “feature freeze” milestone? A) To merge all pending features B) To stop adding new features and focus on stabilization C) To release the final product to customers D) To start documentation updates only Answer: B Explanation: Feature freeze marks the point where no new features are accepted; the focus shifts to bug fixing and testing. Question 45. Which component registers a southbound plugin with MD‑SAL? A) The Plugin Manager Service B) The OSGi Bundle Activator C) The RESTCONF Server D) The YANG Tools Generator Answer: B Explanation: In OSGi, a bundle’s Activator registers the plugin’s services with MD‑SAL during bundle start.

Exam

Question 46. Which YANG statement indicates that a leaf is read‑only and cannot be configured? A) config false B) mandatory true C) status deprecated D) type string Answer: A Explanation: Setting “config false” marks the leaf as operational (read‑only) data. Question 47. What does the “identity” statement in YANG provide? A) A base type for enumerations B) A way to define abstract types for future extensions C) A method to import external modules D) A rule for data validation Answer: B Explanation: “identity” defines a unique type that can be extended via “identityref,” supporting extensible enumerations. Question 48. In RESTCONF, how are hierarchical resources identified? A) By JSON pointers B) By XPath expressions C) By URI path segments following the YANG tree D. By query parameters only Answer: C Explanation: RESTCONF maps YANG data nodes to URI paths; each segment corresponds to a container, list, or leaf.

Exam

Explanation: “bundle:list - s” shows bundles with their state, allowing you to see which are ACTIVE. Question 52. In MD‑SAL, what does a “Read‑Only Transaction” allow? A. Writing data to the Config datastore B. Modifying operational data C. Reading data without affecting the datastore state D. Deleting configuration entries Answer: C Explanation: A Read‑Only Transaction provides a consistent snapshot for reading data, without permitting modifications. Question 53. Which YANG keyword is used to define a reusable type alias? A. typedef B. leafref C. identity D. augment Answer: A Explanation: “typedef” creates a new type name that can be referenced elsewhere, simplifying model definitions. Question 54. What is the purpose of the “augment” statement in a YANG module? A. To define a new top‑level container B. To add nodes to an existing data tree defined elsewhere C. To create a new RPC operation D. To declare a mandatory leaf

Exam

Answer: B Explanation: “augment” extends existing modules by inserting additional nodes into their hierarchy. Question 55. Which OpenDaylight component provides a REST API for accessing MD‑SAL data? A. RESTCONF Server B. OpenFlow Plugin C. BGP‑LS Service D. OVSDB Connector Answer: A Explanation: The RESTCONF Server exposes MD‑SAL datastores as RESTful resources. Question 56. Which of the following best describes a “binding aware” listener in MD‑SAL? A. Listens for raw DOM notifications only B. Receives typed Java objects generated from YANG models C. Monitors file system changes D. Handles low‑level socket events Answer: B Explanation: Binding aware listeners work with type‑safe Java objects (bindings) rather than generic DOM structures. Question 57. In the OpenDaylight release process, what is a “milestone”? A. A final production release B. An intermediate build used for testing new features C. A documentation update