OpenStack and Virtualization API Quiz with Answers

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?

Answer: CRUD stands for Create, Read, Update, Delete. The corresponding HTTP calls (or "verbs") are Post, Get, Put, and Delete.  Despite the letter "p" being absent from CRUD, the "patch" HTTP request is associated with Update. Patch is a partial update.  For more information, see this blog.  Increasingly the CRUD acronym, originally associated with SQL database DML commands, is being associated with the HTTP-based API commands.  Introduction to JavaScript Objection Notation by Lindsay Bassett (ISBN 978-1-491-92948-3, published by O'Reilly Media Inc., in 2015) refers to web APIs as having CRUD operations on page 51.  Here is another example of the CRUD acronym being associated with APIs.

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.
https://developer.apple.com/swift/

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 MicrosoftWikipedia, or SWIFT itself.

6.  VMware API Question
vRealize Orchestrator APIs cover what percentage of vSphere APIs?

Answer:  100%. The source was https://www.vmware.com/files/pdf/products/vrealize/VMware-vRealize-Orchestrator.pdf.

7.  VMware API Question
vRealize Orchestrator APIs cover what percentage of VMware vCloud Director APIs?

Answer:  100%. The source was https://www.vmware.com/files/pdf/products/vrealize/VMware-vRealize-Orchestrator.pdf.

8.  VMware API Question
What is vAPI?

Answer:  It is VMware's newest (as of 2016) feature to bring control of its technologies into one API.  To read more about vAPI, read this link and this link.

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 used to be able to read more about it at http://blog.syncsort.com/2016/08/big-data/expert-interview-series-cyber-security-with-apache-metron-and-storm/.

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?

True
False

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?
Yes
No

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 thus hidden from the Internet?
Yes
No

Answer:  Yes.  Amazon API Gateway endpoints are can be accessible to the internet but otherwise hidden to the public.  They could be configured to rely on Direct Connect. See this FAQ link or this Amazon article for more information.

16.  General API Question
Service virtualization is not useful during development yet useful in production?
Yes
No

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?
True
False

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"

Answer: C
See either of these links for more information:  https://aws.amazon.com/ec2/instance-types/ or
https://aws.amazon.com/ec2/previous-generation/

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

Answer:  A
For more information see these links:
https://dzone.com/articles/introduction-hypertext-0
http://stateless.co/hal_specification.html

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 ______________?

Answer:
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: 
https://dzone.com/articles/introduction-hypertext-0
https://www.infoq.com/news/2010/03/RESTLevels

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?

a.  cffi
b.  Bhyve
c.  oVirt
d.  libvirt

Answer: D. See http://libvirt.org/

23.  Which of the following is a tool that provides centralized management for virtual servers?

a.  XPCOM
b.  Bhyve
c.  oVirt
d.  CORBA
e.  Requests

Answer: C.  See http://searchservervirtualization.techtarget.com/definition/oVirt

24.  virsh is part of which tool?

a.  XPCOM
b.  Bhyve
c.  oVirt
d.  CORBA
e.  libvirt

Answer: E.  http://www.ibm.com/developerworks/library/os-python-kvm-scripting1/

25.  What does the term REST stand for?

Answer:  REpresentational State Transfer
See http://www.acronymfinder.com/REST.html

26.  What is an HTTP library for Python?

a.  XPCOM
b.  Bhyve
c.  oVirt
d.  CORBA
e.  Requests

Answer:  E.   Taken from http://docs.python-requests.org/en/latest/user/advanced/#advanced

27. What does BaaS stand for?

a. Backend-as-a-Service
b. Balancer-as-a-Service
c. Box-as-a-Service
d. Bytes-as-a-Service

Answer: A. Source https://www.techopedia.com/definition/29428/backend-as-a-service-baas

28. REST APIs support direct bilateral communication. Is this true or false?

Answer: False. See the answer to the second question on this PDF. REST APIs receive and respond to requests. But true duplexed communication is not possible with REST APIs.

OpenStack Books

Leave a comment

Your email address will not be published. Required fields are marked *