Comment 9 for bug 1806719

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/49390
Committed: http://github.com/Juniper/contrail-common/commit/fe6ebdaec8e7c90d91c49ba344a59b42f452b8bd
Submitter: Vinay Vithal Mahuli (<email address hidden>)
Branch: R6.0-WIP

commit fe6ebdaec8e7c90d91c49ba344a59b42f452b8bd
Author: mkheni <email address hidden>
Date: Thu Nov 8 13:23:42 2018 -0800

Apply commits from master onto R6.0-WIP

Initliaze Sandesh Collector on given IP.
if not ip is provided, listen on 0.0.0.0
Partial-bug: #1802399

Contrail Stats to external Stats Collector
User can provide external collector (ip:port or local domain socket),
If the external collector is provided, contrail generators will
send the UVEs converted into JSON format to the external collector
in addition to the Contrail Collector.
Closes-bug: #1793204

Check build dependencies for Sandesh
Partial-Bug: #1806719

Fix compilation warnings for 'io' and 'sandesh'
- Add explicit casting where needed
- Change types
- Change friend function to templated function
- Fix whitespaces at end of lines
Partial-Bug: #1800894

Fix compilation warnings for 'base' directory
Partial-Bug: #1800894

ParseInt function should check for Uint also
Rapidjson sets the flag of type UnsingedInt if the MSB
is set. While retrieving such values, we need to check
for Uint values also.
Closes-Bug: #218680

Make sandesh and ssl talk TLSv1.2
Use SSLv23 client and server for SSL connections and disable the more vulnerable
versions thereby ensuring the communication happens only on TLSv1.2
This ensures introspect and sandesh services now use TLS v1.2
Partial-Bug: #1807296

JSON encoding of the sandesh UVE messages
This fix adds the file wihch provides implementation of
transport API's exposed. The transport API's will be called
by the generated sandesh code.
UT added for the JSON generator. Currently the validity of
the JSON was checked with online tools. Holding the
verification part until we export a JSON library to sandesh.
Code Change:
JSON encoding unlike the XML encoding uses comma seperation
for members, string values for keys and {} enclosure for
complex types. To accomodate this following data structure
were introduced:
A vector to keep track of the element we are currently encoding
and whether its a first member of the familt or not:
Here is an example:
If we are encoding a list within sandesh structure,
current_sandesh_context_ maintains the following members in its
list viz., sandesh->struct_s1->list_l1
is_first_element_list_ maintains whether we are processing first
list element or we not.If we were in the middle of the list,
the structure is_first_element_list_ will be as follows:
true->false->false
Here the first false, indicates that list is not the first
member of the struct and the second false indicates that we
are done encoding the first element of the list.
Partial-Bug: 1789312

Do not resolve 127.*.*.* ip to names
DNS reverse resolution some times can take seconds.. Most of BGP and XMPP UTs
run over 127...* addresses and run timers in milliseconds. If asynchronous IO
operations do not complete very fast, then they are teared down and new ones
are created. Hence, hard-code 127.* addresses to localhost.
Also mark an arg in set_sychronize() as const.
Closes Jira Bug: CBS-6

Refactor base/timer*
- Remove support for old boost (<1.49)
- Remove usage of auto_ptr
- Remove friend declarations
Partial-Bug: #1800894

Fix type conversion related warnings in base/timer*
Partial-Bug: #1800894

Fix warnings: comparison between signed and unsigned integer
Partial-Bug: #1800894

Python JSON encoding of the sandesh UVE messages
This fix adds the file wihch provides implementation of
transport API's exposed. The transport API's will be called
by the generated sandesh code.
UT added for the JSON generator. Currently the validity of
the JSON was checked with online tools. Holding the
verification part until we export a JSON library to sandesh.
Code Change:
JSON encoding unlike the XML encoding uses comma seperation
for members, string values for keys and {} enclosure for
complex types. To accomodate this following data structure
were introduced:
A vector to keep track of the element we are currently encoding
and whether its a first member of the familt or not:
Here is an example:
If we are encoding a list within sandesh structure,
current_sandesh_context_ maintains the following members in its
list viz., sandesh->struct_s1->list_l1
is_first_element_list_ maintains whether we are processing first
list element or we not.If we were in the middle of the list,
the structure is_first_element_list_ will be as follows:
true->false->false
Here the first false, indicates that list is not the first
member of the struct and the second false indicates that we
are done encoding the first element of the list.
Partial-Bug: 1789312

Support host check for SSL nova metadata
- for peer check there should be host name
is used in url
partial-jira-bug: JCB-218839

Fix warnings related to type conversion
Partial-Bug: #1800894

Use semicolons properly with 'while(false)' in macros
Partial-Bug: #1800894

HTTP parsing logic changed
Previous parsing of the URL assumed that all the
entities will be in the same order always
but that can not always be the case.
Current fix parses the request and fills the
entity values as and when they are found in the request
DocImpact
Closes-bug: #1796870
closes-jira-bug: JCB-281081
enter the commit message for your changes. Lines starting

Use fqdn in CreateConnection for http
- it for peers verifications in SSl case with FQDNs
partial-jira-bug: JCB-218839

remove old constructor for CqlIf
this commit removes old constructor for CqlIf cause all changes
was made across all repositories and it's not needed now.
closes-jira-bug: JCB-218753

Add comment about incorrect definition of __cplusplus in MSVC
Partial-Bug: #1800894

Fix type conversion related warnings in base/task*
Partial-Bug: #1800894

Handle setting socket file as stats collector
A Core was seen when setting socket file as stats_collector
Instead of doing try...catch to figure out whether the stats_collector
is a socket file or ip,port, simply look for a ':' in the string
closes-jira-bug: JCB-218930

Partially fix formatting in sandesh/compiler/generate/*
Partial-Bug: #1800894

Contrail Stats to External Collector - Python Client
User can provide external collector (ip:port or local domain socket),
If the external collector is provided, contrail generators will
send the UVEs converted into JSON format to the external collector
in addition to the Contrail Collector.
Closes-bug: #1793204

cpuinfo changes for windows : new windows specific code as well as refactoring
Partial-Bug: #1803774

Change-Id: Icd111bf92e4656fe7187726cd95ceabb80b9415f
Depends-on: I2a0b02bb4a29601025e1afb6a696baf031375c4b
Partial-jira-bug: JBE-925