OpenStack and Virtualization API Quiz with Answers
(For the DevOps and ETL Quiz, click here. For the answers to the DevOps and ETL Quiz, click here. For the Python Quiz, click here. For the answers to the Python Quiz, click here.)
1. What are the HTTP operations associated with the acronym CRUD?
2. Does the API log for glance capture glance activity directly from the CLI (that bypasses horizon)? As a hint, the default location of the glance log is this: /var/log/glance/api.log
Answer: Yes. The glance api.log captures CLI glance commands that bypass Horizon. The glance api.log normally captures Horizon-originated glance operations such as a Horizon GUI click (which would invoke an API call). The horizon_access.log captures the front end operations, HTML behavior, and relevant response codes from the OpenStack components for the individual operations. For more information about OpenStack CLI and API logging, see this article.
3. The "Create Image" feature in Horizon is an API call with an underlying "Post" call. When a user clicks the "Create Image" button, will this underlying Post activity be captured in the /var/log/apache2/horizon_access.log ?
Answer: Yes. Similarly, Glance commands will be captured in the api.log file in /var/log/glance/. For more information about OpenStack CLI and API logging, see this article.
4. How is neutron different from nova-network?
Answer: Neutron is the current networking component for OpenStack. While nova-network is still around, it is considered legacy. (1) Why is this an OpenStack API question? "Neutron itself is an API..." according to Dan Radez (on page 38 of his book OpenStack Essentials 1st edition). The second edition of OpenStack Essentials was released in 2016.
(1) OpenStack Operations Guide (written by Fifield, Fleming, Gentle, Hochstein, Proulx, Toews and Topjian) says that nova-network is a "legacy networking option."
5. Are OpenStack APIs for Swift most commonly written in the Swift programming languages?
Answer: No. OpenStack APIs can be developed RESTfully and independent of one language. The Swift programming languages are separate and have not been adopted in any substantial way for OpenStack Swift API calls.
To be clear about the three main "swift" technologies in computing today, please note the following disambiguation:
i. OpenStack Swift is a component for object storage.
ii. The interpreted Swift programming language (supported by the National Science Foundation, the University of Chicago, and other groups) is a "simple tool for fast, easy scripting on big machines." This quote was taken from Swift's webpage here (which has information about this Swift language): http://swift-lang.org/main/
iii. The separate, compiled Swift programming language created at Apple is a programming language for iOS and is designed to integrate well with Objective-C. For more information see Apple's webpage.
iv. SWIFT can stand for The Society for Worldwide Interbank Financial Telecommunication. SWIFTNet Link is an API for banks to use for secure communication. SWIFT infrastructure refers to servers on a secure network supporting inter-bank connectivity and relevant APIs. To read more about SWIFT standards and technology, you can try links from Microsoft, Wikipedia, or SWIFT itself.
6. VMware API Question
vRealize Orchestrator APIs cover what percentage of vSphere APIs?
7. VMware API Question
vRealize Orchestrator APIs cover what percentage of VMware vCloud Director APIs?
8. VMware API Question
What is vAPI?
9. OpenStack API Question
When someone on an OpenStack API conference call refers to "moss" (as in green moss on a tree) what might she be referring to?
Answer: The word "moss" is a homophone of three acronyms, MOS (Mirantis OpenStack), MaaS (Metal-as-a-Service) and MaaS (Model-as-a-Service). MOS and Metal-as-a-Service are frequently used in the OpenStack community. Model-as-a-Service is a newer term that is not necessarily related to OpenStack; you can read more about it here.
10. Generic Virtualization Question
What is virtualization on virtualization called (when a guest virtual machine's host is a virtual server itself)?
Answer: Nested virtualization. For more information, see this link.
11. OpenStack API Question
Which of the following three are the most common types of request and response parameters involved with OpenStack APIs?
a) XSD Lists
b) XSD Strings
c) XSD Dicts
d) JSON strings
e) JSON integers
f) Python strings
g) Python integers
Answer: A, B, and C. For more information, see this link.
12. API Virtualization Question
Which AWS tool primarily functions to monitor and record API activity in a given AWS account?
a) Amazon CloudWatch
b) Amazon CloudFormation
c) Amazon CloudTrail
d) Amazon AppStream
Answer: C. For more info see this link.
13. Generic API Question
Django's REST framework includes API requests with responses that are in unbrowsable JSON exclusively?
Answer: False. www.django-rest-framework.org reports "[t]he Web browsable API is a huge usability win for your developers."
14. OpenStack API Question
Does the OpenStack API include the Patch HTTP request?
Answer: No. http://developer.openstack.org/api-ref-image-v2.html
15. AWS API Question
Can AWS Gateway API endpoints (URLs) be isolated within a Virtual Private Cloud and hidden from the Internet?
Answer: Yes. Amazon API Gateway endpoints are exposed to the public. See this link for more information.
16. General API Question
Service virtualization is not useful during development yet useful in production?
Answer: No. When isolated from the Internet for development and risky testing, virtualizing an API endpoint in a development environment is very useful. A RESTful API endpoint on a local web server can simulate the functionality of a web-exposed endpoint. When development is complete and the application can be promoted to production, the real URL can be substituted. See this link for more information.
17. When automating AWS operations with the AWS API Gateway, as with AWS SDKs and the AWS CLI, there is no need to sign the request?
Answer: False. AWS SDKs and the AWS CLI do not require signing requests. The AWS API calls do require signing the requests. See this link for more information.
18. For AWS, what is the difference between a t2 instance and a t1 instance?
a. t1 instances are more compute optimized
b. t2 instances are more compute optimized
c. t1 instances are "previous generation instances"
d. t2 instances are "previous generation instances"
See either of these links for more information: https://aws.amazon.com/ec2/instance-types/ or
19. What is the name of the project to standardize REST APIs?
a. The Swagger Specification
b. The OpenAPI Initiative
c. The Reverb Initiative
d. The Wordnik Initiative
e. The REST Model
Answer: B See this link for more information.
20. What technology supports XML and JSON for Restful APIs that has the initials "HAL"?
a. Hypertext Application Language
b. Hypermedia Application Language
c. Hardware Abstraction Layer
d. Hybrid Automation Layer
For more information see these links:
21. There are three levels of RESTful web services. Which level is concerned with self-documentation, verbs, and resources?
Level 1 is concerned with ______________?
Level 2 is concerned with ______________?
Level 3 is concerned with ______________?
Level 1 is concerned with resources.
Level 2 is concerned with verbs.
Level 3 is concerned with self-documentation.
For more information, see these links:
22. What is the virtualization API tool that supports the LXC Linux container system, the Xen hypervisor on Linux servers, and the KVM/QEMU Linux hypervisor?
Answer: D. See http://libvirt.org/
23. Which of the following is a tool that provides centralized management for virtual servers?
24. virsh is part of which tool?
25. What does the term REST stand for?
Answer: REpresentational State Transfer
26. What is an HTTP library for Python?
Answer: E. Taken from http://docs.python-requests.org/en/latest/user/advanced/#advanced
27. What does BaaS stand for?
Answer: A. Source https://www.techopedia.com/definition/29428/backend-as-a-service-baas