juniper / contrail Goto Github PK
View Code? Open in Web Editor NEWContrail repo for core components (go based)
License: Apache License 2.0
Contrail repo for core components (go based)
License: Apache License 2.0
Can you explain the colour coding in the Arch diagram here https://github.com/Juniper/contrail/blob/master/doc/index.md
From what I understand from reading this section is that
If these statements are accurate could you add them below the Arch diagram?
It would be good to see a diagram that shows what multiple instances of these services would look like in a deployment.
This is what Openstack's keystone auth v3 expects:
{ "auth": { "identity": { "methods": ["password"], "password": { "user": { "name": "admin", "domain": { "id": "default" }, "password": "adminpwd" } } } } }
and this is what contrail's implementation expects:
{ "auth": { "identity": { "methods": ["password"], "password": { "user": { "id": "admin", "domain": { "id": "default" }, "password": "adminpwd" } } } } }
OpenAPI/Swagger generation
How to filter an object with list as attribute?
Below filter does not work
?filters=supported_platforms==EX4200
{
"image": [
{
"supported_platforms": [
"EX4200",
"EX3500"
],
"id":"1",
"name":"Test1"
},
{
"supported_platforms": [
"EX9200"
],
"id":"2",
"name":"Test2"
},
{
"supported_platforms": [
"EX4200",
"EX7400"
],
"id":"3",
"name":"Test3"
}
]
}
Do we have this support?
https://github.com/Juniper/contrail/blob/master/doc/rest_api.md#listing-resources
Thanks,
Vinamra
Path and PluralPath are absent in schema.json.
CLI needs that information for issuing API requests. For now ID and Plural fields together with some string replacement are used.
https://github.com/Juniper/contrail#how-to-build contains a go get command.
This is failing as go get resolves to the github.com/Juniper/contrail for this project.
Server returns data in following JSON (example for Show operation):
return c.JSON(http.StatusOK, map[string]interface{}{
"virtual_network": result,
})
Current Server response keys:
It requires CLI code to do some string replacements, which shouldn't be needed.
I think it would be the best to use following:
Another option are:
"data"
response key for all resourcesresult
object (naming from code snippet) as JSON root (no place for future metadata next to resource data in this option)Use case:
Performing GET request on single resource with given UUID (show operation), when there is no such resource.
Current behavior:
Operation returns empty list of resources with no error.
Suggested behavior:
Server returns HTTP 404 Not Found error.
Notes:
It breaks CLI Sync() operation and TestCLISyncVirtualNetworks()
integration test has been disabled.
That test needs to be reenabled after resolving bug.
This section on the README.md –
_
Schema Files
Note that schema stored here is just a cache for helping development. Developers should make sure download latest schema from http://github.com/Juniper/contrail-api-client
JSON version stored in public/schema.json
_
If the intent is that the user always uses the latest schema managed under a different repository, why don’t you just use a git submodule for this?
creating table for every children of resource to save parent-child relationship (parent key, child key) and updating table accordingly for create/delete of resource/child.
Note I am running with mariadb rather than mysql.
$ mysql --version
mysql Ver 15.1 Distrib 10.2.11-MariaDB, for osx10.12 (x86_64) using readline 5.1
Output from make test
$ make test
./tools/test.sh
? github.com/Juniper/contrail [no test files]
? github.com/Juniper/contrail/cmd/contrail [no test files]
? github.com/Juniper/contrail/cmd/contrailutil [no test files]
time="2018-01-02T14:14:59Z" level=info msg="connected to the database"
time="2018-01-02T14:14:59Z" level=info msg="starting test"
time="2018-01-02T14:14:59Z" level=debug msg="[Step] create network policy"
time="2018-01-02T14:14:59Z" level=debug msg=Authenticated token="&{2018-01-02 15:14:59.143764452 +0000 UTC 2018-01-02 14:14:59.143764207 +0000 UTC {alice Alice [email protected] false {default default}} 0xc42037c230 0xc420354570 [{admin Admin}]}"
time="2018-01-02T14:14:59Z" level=debug msg="create query" model="{\"network_policy_entries\":{\"policy_rule\":[]},\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"admin\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"parent_type\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"uuid\":\"network_policy_uuid\",\"parent_uuid\":\"\",\"fq_name\":[]}" query="insert into `network_policy` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`policy_rule`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:14:59Z" level=debug msg=created model="{\"network_policy_entries\":{\"policy_rule\":[]},\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"admin\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"parent_type\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"uuid\":\"network_policy_uuid\",\"parent_uuid\":\"\",\"fq_name\":[]}"
time="2018-01-02T14:14:59Z" level=debug msg="[Step] create network policy"
time="2018-01-02T14:14:59Z" level=debug msg=Authenticated token="&{2018-01-02 15:14:59.146198732 +0000 UTC 2018-01-02 14:14:59.146198521 +0000 UTC {bob Bob [email protected] false {default default}} 0xc4202bc280 0xc4202b45a0 [{Member Member}]}"
time="2018-01-02T14:14:59Z" level=debug msg="create query" model="{\"network_policy_entries\":{\"policy_rule\":[]},\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"demo\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"parent_type\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"uuid\":\"network_policy_uuid2\",\"parent_uuid\":\"\",\"fq_name\":[]}" query="insert into `network_policy` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`policy_rule`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:14:59Z" level=debug msg=created model="{\"network_policy_entries\":{\"policy_rule\":[]},\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"demo\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"parent_type\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"uuid\":\"network_policy_uuid2\",\"parent_uuid\":\"\",\"fq_name\":[]}"
time="2018-01-02T14:14:59Z" level=debug msg="[Step] create virtual network"
time="2018-01-02T14:14:59Z" level=debug msg=Authenticated token="&{2018-01-02 15:14:59.143764452 +0000 UTC 2018-01-02 14:14:59.143764207 +0000 UTC {alice Alice [email protected] false {default default}} 0xc4202d25f0 0xc4202d56b0 [{admin Admin}]}"
time="2018-01-02T14:14:59Z" level=debug msg="create query" model="{\"virtual_network_network_id\":0,\"pbb_evpn_enable\":false,\"flood_unknown_unicast\":false,\"pbb_etree_enable\":false,\"layer2_control_word\":false,\"parent_uuid\":\"\",\"virtual_network_properties\":{\"allow_transit\":false,\"network_id\":0,\"mirror_destination\":false,\"vxlan_network_identifier\":0,\"rpf\":\"\",\"forwarding_mode\":\"\"},\"ecmp_hashing_include_fields\":{\"destination_ip\":false,\"ip_protocol\":false,\"source_ip\":false,\"hashing_configured\":false,\"source_port\":false,\"destination_port\":false},\"mac_aging_time\":0,\"external_ipam\":false,\"port_security_enabled\":false,\"uuid\":\"vn_uuid\",\"route_target_list\":{\"route_target\":[]},\"perms2\":{\"owner\":\"admin\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"address_allocation_mode\":\"\",\"mac_learning_enabled\":false,\"export_route_target_list\":{\"route_target\":[]},\"annotations\":{\"key_value_pair\":[]},\"display_name\":\"\",\"mac_move_control\":{\"mac_move_time_window\":0,\"mac_move_limit\":0,\"mac_move_limit_action\":\"\"},\"multi_policy_service_chains_enabled\":false,\"fq_name\":[],\"mac_limit_control\":{\"mac_limit\":0,\"mac_limit_action\":\"\"},\"parent_type\":\"\",\"router_external\":false,\"import_route_target_list\":{\"route_target\":[]},\"provider_properties\":{\"segmentation_id\":0,\"physical_network\":\"\"},\"is_shared\":false,\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"bgpvpn_refs\":null,\"network_ipam_refs\":null,\"security_logging_object_refs\":null,\"network_policy_refs\":[{\"uuid\":\"network_policy_uuid\",\"to\":null,\"Attr\":null}],\"qos_config_refs\":null,\"route_table_refs\":null,\"virtual_network_refs\":null,\"access_control_lists\":null,\"alias_ip_pools\":null,\"bridge_domains\":null,\"floating_ip_pools\":null,\"routing_instances\":null}" query="insert into `virtual_network` (`vxlan_network_identifier`,`rpf`,`network_id`,`mirror_destination`,`forwarding_mode`,`allow_transit`,`virtual_network_network_id`,`uuid`,`router_external`,`route_target`,`segmentation_id`,`physical_network`,`port_security_enabled`,`share`,`owner_access`,`owner`,`global_access`,`pbb_evpn_enable`,`pbb_etree_enable`,`parent_uuid`,`parent_type`,`multi_policy_service_chains_enabled`,`mac_move_time_window`,`mac_move_limit_action`,`mac_move_limit`,`mac_limit_action`,`mac_limit`,`mac_learning_enabled`,`mac_aging_time`,`layer2_control_word`,`is_shared`,`import_route_target_list_route_target`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`flood_unknown_unicast`,`external_ipam`,`export_route_target_list_route_target`,`source_port`,`source_ip`,`ip_protocol`,`hashing_configured`,`destination_port`,`destination_ip`,`display_name`,`key_value_pair`,`address_allocation_mode`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:14:59Z" level=debug msg=created model="{\"virtual_network_network_id\":0,\"pbb_evpn_enable\":false,\"flood_unknown_unicast\":false,\"pbb_etree_enable\":false,\"layer2_control_word\":false,\"parent_uuid\":\"\",\"virtual_network_properties\":{\"allow_transit\":false,\"network_id\":0,\"mirror_destination\":false,\"vxlan_network_identifier\":0,\"rpf\":\"\",\"forwarding_mode\":\"\"},\"ecmp_hashing_include_fields\":{\"destination_ip\":false,\"ip_protocol\":false,\"source_ip\":false,\"hashing_configured\":false,\"source_port\":false,\"destination_port\":false},\"mac_aging_time\":0,\"external_ipam\":false,\"port_security_enabled\":false,\"uuid\":\"vn_uuid\",\"route_target_list\":{\"route_target\":[]},\"perms2\":{\"owner\":\"admin\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"address_allocation_mode\":\"\",\"mac_learning_enabled\":false,\"export_route_target_list\":{\"route_target\":[]},\"annotations\":{\"key_value_pair\":[]},\"display_name\":\"\",\"mac_move_control\":{\"mac_move_time_window\":0,\"mac_move_limit\":0,\"mac_move_limit_action\":\"\"},\"multi_policy_service_chains_enabled\":false,\"fq_name\":[],\"mac_limit_control\":{\"mac_limit\":0,\"mac_limit_action\":\"\"},\"parent_type\":\"\",\"router_external\":false,\"import_route_target_list\":{\"route_target\":[]},\"provider_properties\":{\"segmentation_id\":0,\"physical_network\":\"\"},\"is_shared\":false,\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"bgpvpn_refs\":null,\"network_ipam_refs\":null,\"security_logging_object_refs\":null,\"network_policy_refs\":[{\"uuid\":\"network_policy_uuid\",\"to\":null,\"Attr\":{\"timer\":{\"start_time\":\"\",\"off_interval\":\"\",\"on_interval\":\"\",\"end_time\":\"\"},\"sequence\":{\"major\":0,\"minor\":0}}}],\"qos_config_refs\":null,\"route_table_refs\":null,\"virtual_network_refs\":null,\"access_control_lists\":null,\"alias_ip_pools\":null,\"bridge_domains\":null,\"floating_ip_pools\":null,\"routing_instances\":null}"
time="2018-01-02T14:14:59Z" level=debug msg="[Step] create routing instance"
time="2018-01-02T14:14:59Z" level=debug msg=Authenticated token="&{2018-01-02 15:14:59.143764452 +0000 UTC 2018-01-02 14:14:59.143764207 +0000 UTC {alice Alice [email protected] false {default default}} 0xc4202bc730 0xc4202b4ea0 [{admin Admin}]}"
time="2018-01-02T14:14:59Z" level=debug msg="create query" model="{\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"admin\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"ri_uuid\",\"parent_uuid\":\"vn_uuid\",\"parent_type\":\"\",\"fq_name\":[],\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\"}" query="insert into `routing_instance` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:14:59Z" level=debug msg=created model="{\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"admin\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"ri_uuid\",\"parent_uuid\":\"vn_uuid\",\"parent_type\":\"\",\"fq_name\":[],\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\"}"
time="2018-01-02T14:14:59Z" level=debug msg="[Step] list virtual networks"
time="2018-01-02T14:14:59Z" level=debug msg=Authenticated token="&{2018-01-02 15:14:59.143764452 +0000 UTC 2018-01-02 14:14:59.143764207 +0000 UTC {alice Alice [email protected] false {default default}} 0xc420098190 0xc420086f00 [{admin Admin}]}"
time="2018-01-02T14:14:59Z" level=debug msg="select query" listSpec="&{virtual_network map[] 1000 0 false [vxlan_network_identifier rpf network_id mirror_destination forwarding_mode allow_transit virtual_network_network_id uuid router_external route_target segmentation_id physical_network port_security_enabled share owner_access owner global_access pbb_evpn_enable pbb_etree_enable parent_uuid parent_type multi_policy_service_chains_enabled mac_move_time_window mac_move_limit_action mac_move_limit mac_limit_action mac_limit mac_learning_enabled mac_aging_time layer2_control_word is_shared import_route_target_list_route_target user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name flood_unknown_unicast external_ipam export_route_target_list_route_target source_port source_ip ip_protocol hashing_configured destination_port destination_ip display_name key_value_pair address_allocation_mode] map[network_ipam:[ipam_subnets route] security_logging_object:[] network_policy:[start_time off_interval on_interval end_time minor major] qos_config:[] route_table:[] virtual_network:[] bgpvpn:[]] map[floating_ip_pool:[uuid share owner_access owner global_access parent_uuid parent_type user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name subnet_uuid display_name key_value_pair] routing_instance:[uuid share owner_access owner global_access parent_uuid parent_type user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair] access_control_list:[uuid share owner_access owner global_access parent_uuid parent_type user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair access_control_list_hash dynamic acl_rule] alias_ip_pool:[uuid share owner_access owner global_access parent_uuid parent_type user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair] bridge_domain:[uuid share owner_access owner global_access parent_uuid parent_type mac_move_time_window mac_move_limit_action mac_move_limit mac_limit_action mac_limit mac_learning_enabled mac_aging_time isid user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair]] 0xc420098640}" query="select ANY_VALUE(`virtual_network`.`vxlan_network_identifier`),ANY_VALUE(`virtual_network`.`rpf`),ANY_VALUE(`virtual_network`.`network_id`),ANY_VALUE(`virtual_network`.`mirror_destination`),ANY_VALUE(`virtual_network`.`forwarding_mode`),ANY_VALUE(`virtual_network`.`allow_transit`),ANY_VALUE(`virtual_network`.`virtual_network_network_id`),ANY_VALUE(`virtual_network`.`uuid`),ANY_VALUE(`virtual_network`.`router_external`),ANY_VALUE(`virtual_network`.`route_target`),ANY_VALUE(`virtual_network`.`segmentation_id`),ANY_VALUE(`virtual_network`.`physical_network`),ANY_VALUE(`virtual_network`.`port_security_enabled`),ANY_VALUE(`virtual_network`.`share`),ANY_VALUE(`virtual_network`.`owner_access`),ANY_VALUE(`virtual_network`.`owner`),ANY_VALUE(`virtual_network`.`global_access`),ANY_VALUE(`virtual_network`.`pbb_evpn_enable`),ANY_VALUE(`virtual_network`.`pbb_etree_enable`),ANY_VALUE(`virtual_network`.`parent_uuid`),ANY_VALUE(`virtual_network`.`parent_type`),ANY_VALUE(`virtual_network`.`multi_policy_service_chains_enabled`),ANY_VALUE(`virtual_network`.`mac_move_time_window`),ANY_VALUE(`virtual_network`.`mac_move_limit_action`),ANY_VALUE(`virtual_network`.`mac_move_limit`),ANY_VALUE(`virtual_network`.`mac_limit_action`),ANY_VALUE(`virtual_network`.`mac_limit`),ANY_VALUE(`virtual_network`.`mac_learning_enabled`),ANY_VALUE(`virtual_network`.`mac_aging_time`),ANY_VALUE(`virtual_network`.`layer2_control_word`),ANY_VALUE(`virtual_network`.`is_shared`),ANY_VALUE(`virtual_network`.`import_route_target_list_route_target`),ANY_VALUE(`virtual_network`.`user_visible`),ANY_VALUE(`virtual_network`.`permissions_owner_access`),ANY_VALUE(`virtual_network`.`permissions_owner`),ANY_VALUE(`virtual_network`.`other_access`),ANY_VALUE(`virtual_network`.`group_access`),ANY_VALUE(`virtual_network`.`group`),ANY_VALUE(`virtual_network`.`last_modified`),ANY_VALUE(`virtual_network`.`enable`),ANY_VALUE(`virtual_network`.`description`),ANY_VALUE(`virtual_network`.`creator`),ANY_VALUE(`virtual_network`.`created`),ANY_VALUE(`virtual_network`.`fq_name`),ANY_VALUE(`virtual_network`.`flood_unknown_unicast`),ANY_VALUE(`virtual_network`.`external_ipam`),ANY_VALUE(`virtual_network`.`export_route_target_list_route_target`),ANY_VALUE(`virtual_network`.`source_port`),ANY_VALUE(`virtual_network`.`source_ip`),ANY_VALUE(`virtual_network`.`ip_protocol`),ANY_VALUE(`virtual_network`.`hashing_configured`),ANY_VALUE(`virtual_network`.`destination_port`),ANY_VALUE(`virtual_network`.`destination_ip`),ANY_VALUE(`virtual_network`.`display_name`),ANY_VALUE(`virtual_network`.`key_value_pair`),ANY_VALUE(`virtual_network`.`address_allocation_mode`),group_concat(distinct JSON_OBJECT('from', `ref_virtual_network_virtual_network`.`from`,'to', `ref_virtual_network_virtual_network`.`to`)) as `ref_virtual_network_virtual_network_ref`,group_concat(distinct JSON_OBJECT('from', `ref_virtual_network_bgpvpn`.`from`,'to', `ref_virtual_network_bgpvpn`.`to`)) as `ref_virtual_network_bgpvpn_ref`,group_concat(distinct JSON_OBJECT('ipam_subnets', `ref_virtual_network_network_ipam`.`ipam_subnets`,'route', `ref_virtual_network_network_ipam`.`route`,'from', `ref_virtual_network_network_ipam`.`from`,'to', `ref_virtual_network_network_ipam`.`to`)) as `ref_virtual_network_network_ipam_ref`,group_concat(distinct JSON_OBJECT('from', `ref_virtual_network_security_logging_object`.`from`,'to', `ref_virtual_network_security_logging_object`.`to`)) as `ref_virtual_network_security_logging_object_ref`,group_concat(distinct JSON_OBJECT('start_time', `ref_virtual_network_network_policy`.`start_time`,'off_interval', `ref_virtual_network_network_policy`.`off_interval`,'on_interval', `ref_virtual_network_network_policy`.`on_interval`,'end_time', `ref_virtual_network_network_policy`.`end_time`,'minor', `ref_virtual_network_network_policy`.`minor`,'major', `ref_virtual_network_network_policy`.`major`,'from', `ref_virtual_network_network_policy`.`from`,'to', `ref_virtual_network_network_policy`.`to`)) as `ref_virtual_network_network_policy_ref`,group_concat(distinct JSON_OBJECT('from', `ref_virtual_network_qos_config`.`from`,'to', `ref_virtual_network_qos_config`.`to`)) as `ref_virtual_network_qos_config_ref`,group_concat(distinct JSON_OBJECT('from', `ref_virtual_network_route_table`.`from`,'to', `ref_virtual_network_route_table`.`to`)) as `ref_virtual_network_route_table_ref`,group_concat(distinct JSON_OBJECT('uuid', `access_control_list`.`uuid`,'share', `access_control_list`.`share`,'owner_access', `access_control_list`.`owner_access`,'owner', `access_control_list`.`owner`,'global_access', `access_control_list`.`global_access`,'parent_uuid', `access_control_list`.`parent_uuid`,'parent_type', `access_control_list`.`parent_type`,'user_visible', `access_control_list`.`user_visible`,'permissions_owner_access', `access_control_list`.`permissions_owner_access`,'permissions_owner', `access_control_list`.`permissions_owner`,'other_access', `access_control_list`.`other_access`,'group_access', `access_control_list`.`group_access`,'group', `access_control_list`.`group`,'last_modified', `access_control_list`.`last_modified`,'enable', `access_control_list`.`enable`,'description', `access_control_list`.`description`,'creator', `access_control_list`.`creator`,'created', `access_control_list`.`created`,'fq_name', `access_control_list`.`fq_name`,'display_name', `access_control_list`.`display_name`,'key_value_pair', `access_control_list`.`key_value_pair`,'access_control_list_hash', `access_control_list`.`access_control_list_hash`,'dynamic', `access_control_list`.`dynamic`,'acl_rule', `access_control_list`.`acl_rule`)) as `access_control_list_ref`,group_concat(distinct JSON_OBJECT('uuid', `alias_ip_pool`.`uuid`,'share', `alias_ip_pool`.`share`,'owner_access', `alias_ip_pool`.`owner_access`,'owner', `alias_ip_pool`.`owner`,'global_access', `alias_ip_pool`.`global_access`,'parent_uuid', `alias_ip_pool`.`parent_uuid`,'parent_type', `alias_ip_pool`.`parent_type`,'user_visible', `alias_ip_pool`.`user_visible`,'permissions_owner_access', `alias_ip_pool`.`permissions_owner_access`,'permissions_owner', `alias_ip_pool`.`permissions_owner`,'other_access', `alias_ip_pool`.`other_access`,'group_access', `alias_ip_pool`.`group_access`,'group', `alias_ip_pool`.`group`,'last_modified', `alias_ip_pool`.`last_modified`,'enable', `alias_ip_pool`.`enable`,'description', `alias_ip_pool`.`description`,'creator', `alias_ip_pool`.`creator`,'created', `alias_ip_pool`.`created`,'fq_name', `alias_ip_pool`.`fq_name`,'display_name', `alias_ip_pool`.`display_name`,'key_value_pair', `alias_ip_pool`.`key_value_pair`)) as `alias_ip_pool_ref`,group_concat(distinct JSON_OBJECT('uuid', `bridge_domain`.`uuid`,'share', `bridge_domain`.`share`,'owner_access', `bridge_domain`.`owner_access`,'owner', `bridge_domain`.`owner`,'global_access', `bridge_domain`.`global_access`,'parent_uuid', `bridge_domain`.`parent_uuid`,'parent_type', `bridge_domain`.`parent_type`,'mac_move_time_window', `bridge_domain`.`mac_move_time_window`,'mac_move_limit_action', `bridge_domain`.`mac_move_limit_action`,'mac_move_limit', `bridge_domain`.`mac_move_limit`,'mac_limit_action', `bridge_domain`.`mac_limit_action`,'mac_limit', `bridge_domain`.`mac_limit`,'mac_learning_enabled', `bridge_domain`.`mac_learning_enabled`,'mac_aging_time', `bridge_domain`.`mac_aging_time`,'isid', `bridge_domain`.`isid`,'user_visible', `bridge_domain`.`user_visible`,'permissions_owner_access', `bridge_domain`.`permissions_owner_access`,'permissions_owner', `bridge_domain`.`permissions_owner`,'other_access', `bridge_domain`.`other_access`,'group_access', `bridge_domain`.`group_access`,'group', `bridge_domain`.`group`,'last_modified', `bridge_domain`.`last_modified`,'enable', `bridge_domain`.`enable`,'description', `bridge_domain`.`description`,'creator', `bridge_domain`.`creator`,'created', `bridge_domain`.`created`,'fq_name', `bridge_domain`.`fq_name`,'display_name', `bridge_domain`.`display_name`,'key_value_pair', `bridge_domain`.`key_value_pair`)) as `bridge_domain_ref`,group_concat(distinct JSON_OBJECT('uuid', `floating_ip_pool`.`uuid`,'share', `floating_ip_pool`.`share`,'owner_access', `floating_ip_pool`.`owner_access`,'owner', `floating_ip_pool`.`owner`,'global_access', `floating_ip_pool`.`global_access`,'parent_uuid', `floating_ip_pool`.`parent_uuid`,'parent_type', `floating_ip_pool`.`parent_type`,'user_visible', `floating_ip_pool`.`user_visible`,'permissions_owner_access', `floating_ip_pool`.`permissions_owner_access`,'permissions_owner', `floating_ip_pool`.`permissions_owner`,'other_access', `floating_ip_pool`.`other_access`,'group_access', `floating_ip_pool`.`group_access`,'group', `floating_ip_pool`.`group`,'last_modified', `floating_ip_pool`.`last_modified`,'enable', `floating_ip_pool`.`enable`,'description', `floating_ip_pool`.`description`,'creator', `floating_ip_pool`.`creator`,'created', `floating_ip_pool`.`created`,'fq_name', `floating_ip_pool`.`fq_name`,'subnet_uuid', `floating_ip_pool`.`subnet_uuid`,'display_name', `floating_ip_pool`.`display_name`,'key_value_pair', `floating_ip_pool`.`key_value_pair`)) as `floating_ip_pool_ref`,group_concat(distinct JSON_OBJECT('uuid', `routing_instance`.`uuid`,'share', `routing_instance`.`share`,'owner_access', `routing_instance`.`owner_access`,'owner', `routing_instance`.`owner`,'global_access', `routing_instance`.`global_access`,'parent_uuid', `routing_instance`.`parent_uuid`,'parent_type', `routing_instance`.`parent_type`,'user_visible', `routing_instance`.`user_visible`,'permissions_owner_access', `routing_instance`.`permissions_owner_access`,'permissions_owner', `routing_instance`.`permissions_owner`,'other_access', `routing_instance`.`other_access`,'group_access', `routing_instance`.`group_access`,'group', `routing_instance`.`group`,'last_modified', `routing_instance`.`last_modified`,'enable', `routing_instance`.`enable`,'description', `routing_instance`.`description`,'creator', `routing_instance`.`creator`,'created', `routing_instance`.`created`,'fq_name', `routing_instance`.`fq_name`,'display_name', `routing_instance`.`display_name`,'key_value_pair', `routing_instance`.`key_value_pair`)) as `routing_instance_ref` from virtual_network left join `ref_virtual_network_virtual_network` on `virtual_network`.`uuid` = `ref_virtual_network_virtual_network`.`from` left join `ref_virtual_network_bgpvpn` on `virtual_network`.`uuid` = `ref_virtual_network_bgpvpn`.`from` left join `ref_virtual_network_network_ipam` on `virtual_network`.`uuid` = `ref_virtual_network_network_ipam`.`from` left join `ref_virtual_network_security_logging_object` on `virtual_network`.`uuid` = `ref_virtual_network_security_logging_object`.`from` left join `ref_virtual_network_network_policy` on `virtual_network`.`uuid` = `ref_virtual_network_network_policy`.`from` left join `ref_virtual_network_qos_config` on `virtual_network`.`uuid` = `ref_virtual_network_qos_config`.`from` left join `ref_virtual_network_route_table` on `virtual_network`.`uuid` = `ref_virtual_network_route_table`.`from` left join `access_control_list` on `virtual_network`.`uuid` = `access_control_list`.`parent_uuid` left join `alias_ip_pool` on `virtual_network`.`uuid` = `alias_ip_pool`.`parent_uuid` left join `bridge_domain` on `virtual_network`.`uuid` = `bridge_domain`.`parent_uuid` left join `floating_ip_pool` on `virtual_network`.`uuid` = `floating_ip_pool`.`parent_uuid` left join `routing_instance` on `virtual_network`.`uuid` = `routing_instance`.`parent_uuid` where `virtual_network`.`owner` = ? group by ref_virtual_network_virtual_network.`from`,ref_virtual_network_bgpvpn.`from`,ref_virtual_network_network_ipam.`from`,ref_virtual_network_security_logging_object.`from`,ref_virtual_network_network_policy.`from`,ref_virtual_network_qos_config.`from`,ref_virtual_network_route_table.`from`,access_control_list.`uuid`,alias_ip_pool.`uuid`,bridge_domain.`uuid`,floating_ip_pool.`uuid`,routing_instance.`uuid` limit 1000 offset 0 "
{"time":"2018-01-02T14:14:59.178942301Z","level":"ERROR","prefix":"echo","file":"echo.go","line":"284","message":"code=500, message=Internal Server Error"}
time="2018-01-02T14:14:59Z" level=info msg="HTTP/1.1 500 Internal Server Error\r\nContent-Length: 35\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Tue, 02 Jan 2018 14:14:59 GMT\r\n\r\n{\"message\":\"Internal Server Error\"}"
time="2018-01-02T14:14:59Z" level=fatal msg="Error 1451: Cannot delete or update a parent row: a foreign key constraint fails (`contrail_test`.`ref_virtual_network_network_policy`, CONSTRAINT `ref_virtual_network_network_policy_ibfk_2` FOREIGN KEY (`to`) REFERENCES `network_policy` (`uuid`))"
FAIL github.com/Juniper/contrail/pkg/apisrv 0.077s
? github.com/Juniper/contrail/pkg/apisrv/keystone [no test files]
? github.com/Juniper/contrail/pkg/cmd/contrail [no test files]
? github.com/Juniper/contrail/pkg/cmd/contrailutil [no test files]
ok github.com/Juniper/contrail/pkg/common 1.029s coverage: 1.8% of statements
? github.com/Juniper/contrail/pkg/generated/api [no test files]
time="2018-01-02T14:15:00Z" level=info msg="connected to the database"
time="2018-01-02T14:15:00Z" level=info msg="starting test"
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"parent_type\":\"\",\"fq_name\":[],\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"annotations\":{\"key_value_pair\":[]},\"service_group_firewall_service_list\":{\"firewall_service\":[]},\"display_name\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_uuid\":\"\"}" query="insert into `service_group` (`uuid`,`firewall_service`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=debug msg=created model="{\"parent_type\":\"\",\"fq_name\":[],\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"annotations\":{\"key_value_pair\":[]},\"service_group_firewall_service_list\":{\"firewall_service\":[]},\"display_name\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_uuid\":\"\"}"
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"display_name\":\"\",\"contrail_cluster_id\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_uuid\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"kuberunetes_dashboard\":\"\",\"parent_type\":\"\",\"fq_name\":[],\"annotations\":{\"key_value_pair\":[]}}" query="insert into `kubernetes_cluster` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`kuberunetes_dashboard`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`contrail_cluster_id`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"layout_config\":\"\",\"uuid\":\"dummy_uuid\",\"fq_name\":[],\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"container_config\":\"\",\"content_config\":\"\",\"parent_uuid\":\"\",\"parent_type\":\"\"}" query="insert into `widget` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`layout_config`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`content_config`,`container_config`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=debug msg=created model="{\"display_name\":\"\",\"contrail_cluster_id\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_uuid\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"kuberunetes_dashboard\":\"\",\"parent_type\":\"\",\"fq_name\":[],\"annotations\":{\"key_value_pair\":[]}}"
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_uuid\":\"\",\"parent_type\":\"\",\"ethernet_segment_identifier\":\"\",\"fq_name\":[],\"annotations\":{\"key_value_pair\":[]},\"physical_interface_refs\":null,\"logical_interfaces\":null}" query="insert into `physical_interface` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`ethernet_segment_identifier`,`display_name`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"display_name\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_type\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"address_group_prefix\":{\"subnet\":[]},\"annotations\":{\"key_value_pair\":[]},\"parent_uuid\":\"\",\"fq_name\":[]}" query="insert into `address_group` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`key_value_pair`,`subnet`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"loadbalancer_healthmonitor_properties\":{\"monitor_type\":\"\",\"delay\":0,\"expected_codes\":\"\",\"max_retries\":0,\"http_method\":\"\",\"admin_state\":false,\"timeout\":0,\"url_path\":\"\"},\"display_name\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"parent_uuid\":\"\",\"parent_type\":\"\",\"fq_name\":[],\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\"}" query="insert into `loadbalancer_healthmonitor` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`url_path`,`timeout`,`monitor_type`,`max_retries`,`http_method`,`expected_codes`,`delay`,`admin_state`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"storage_backend_bond_interface_members\":\"\",\"parent_type\":\"\",\"osd_drives\":\"\",\"fq_name\":[],\"provisioning_progress_stage\":\"\",\"provisioning_start_time\":\"\",\"storage_access_bond_interface_members\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"annotations\":{\"key_value_pair\":[]},\"provisioning_state\":\"\",\"journal_drives\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_uuid\":\"\",\"provisioning_log\":\"\",\"provisioning_progress\":0}" query="insert into `openstack_storage_node_role` (`uuid`,`storage_backend_bond_interface_members`,`storage_access_bond_interface_members`,`provisioning_state`,`provisioning_start_time`,`provisioning_progress_stage`,`provisioning_progress`,`provisioning_log`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`osd_drives`,`journal_drives`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=debug msg=created model="{\"layout_config\":\"\",\"uuid\":\"dummy_uuid\",\"fq_name\":[],\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"container_config\":\"\",\"content_config\":\"\",\"parent_uuid\":\"\",\"parent_type\":\"\"}"
time="2018-01-02T14:15:00Z" level=debug msg=created model="{\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_uuid\":\"\",\"parent_type\":\"\",\"ethernet_segment_identifier\":\"\",\"fq_name\":[],\"annotations\":{\"key_value_pair\":[]},\"physical_interface_refs\":null,\"logical_interfaces\":null}"
time="2018-01-02T14:15:00Z" level=debug msg=created model="{\"display_name\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_type\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"address_group_prefix\":{\"subnet\":[]},\"annotations\":{\"key_value_pair\":[]},\"parent_uuid\":\"\",\"fq_name\":[]}"
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"default_forwarding_class_id\":0,\"fq_name\":[],\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"annotations\":{\"key_value_pair\":[]},\"uuid\":\"dummy_uuid\",\"qos_config_type\":\"\",\"mpls_exp_entries\":{\"qos_id_forwarding_class_pair\":[]},\"vlan_priority_entries\":{\"qos_id_forwarding_class_pair\":[]},\"dscp_entries\":{\"qos_id_forwarding_class_pair\":[]},\"parent_type\":\"\",\"display_name\":\"\",\"parent_uuid\":\"\",\"global_system_config_refs\":null}" query="insert into `qos_config` (`qos_id_forwarding_class_pair`,`uuid`,`qos_config_type`,`share`,`owner_access`,`owner`,`global_access`,`parent_uuid`,`parent_type`,`mpls_exp_entries_qos_id_forwarding_class_pair`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`dscp_entries_qos_id_forwarding_class_pair`,`display_name`,`default_forwarding_class_id`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=debug msg="select query" listSpec="&{service_group map[] 1 0 false [uuid firewall_service share owner_access owner global_access parent_uuid parent_type user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair] map[] map[] <nil>}" query="select ANY_VALUE(`service_group`.`uuid`),ANY_VALUE(`service_group`.`firewall_service`),ANY_VALUE(`service_group`.`share`),ANY_VALUE(`service_group`.`owner_access`),ANY_VALUE(`service_group`.`owner`),ANY_VALUE(`service_group`.`global_access`),ANY_VALUE(`service_group`.`parent_uuid`),ANY_VALUE(`service_group`.`parent_type`),ANY_VALUE(`service_group`.`user_visible`),ANY_VALUE(`service_group`.`permissions_owner_access`),ANY_VALUE(`service_group`.`permissions_owner`),ANY_VALUE(`service_group`.`other_access`),ANY_VALUE(`service_group`.`group_access`),ANY_VALUE(`service_group`.`group`),ANY_VALUE(`service_group`.`last_modified`),ANY_VALUE(`service_group`.`enable`),ANY_VALUE(`service_group`.`description`),ANY_VALUE(`service_group`.`creator`),ANY_VALUE(`service_group`.`created`),ANY_VALUE(`service_group`.`fq_name`),ANY_VALUE(`service_group`.`display_name`),ANY_VALUE(`service_group`.`key_value_pair`) from service_group limit 1 offset 0 "
time="2018-01-02T14:15:00Z" level=debug msg=created model="{\"loadbalancer_healthmonitor_properties\":{\"monitor_type\":\"\",\"delay\":0,\"expected_codes\":\"\",\"max_retries\":0,\"http_method\":\"\",\"admin_state\":false,\"timeout\":0,\"url_path\":\"\"},\"display_name\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"parent_uuid\":\"\",\"parent_type\":\"\",\"fq_name\":[],\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\"}"
time="2018-01-02T14:15:00Z" level=debug msg=created model="{\"storage_backend_bond_interface_members\":\"\",\"parent_type\":\"\",\"osd_drives\":\"\",\"fq_name\":[],\"provisioning_progress_stage\":\"\",\"provisioning_start_time\":\"\",\"storage_access_bond_interface_members\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"annotations\":{\"key_value_pair\":[]},\"provisioning_state\":\"\",\"journal_drives\":\"\",\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_uuid\":\"\",\"provisioning_log\":\"\",\"provisioning_progress\":0}"
time="2018-01-02T14:15:00Z" level=debug msg="select query" listSpec="&{kubernetes_cluster map[] 1 0 false [uuid share owner_access owner global_access parent_uuid parent_type kuberunetes_dashboard user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name contrail_cluster_id key_value_pair] map[] map[] <nil>}" query="select ANY_VALUE(`kubernetes_cluster`.`uuid`),ANY_VALUE(`kubernetes_cluster`.`share`),ANY_VALUE(`kubernetes_cluster`.`owner_access`),ANY_VALUE(`kubernetes_cluster`.`owner`),ANY_VALUE(`kubernetes_cluster`.`global_access`),ANY_VALUE(`kubernetes_cluster`.`parent_uuid`),ANY_VALUE(`kubernetes_cluster`.`parent_type`),ANY_VALUE(`kubernetes_cluster`.`kuberunetes_dashboard`),ANY_VALUE(`kubernetes_cluster`.`user_visible`),ANY_VALUE(`kubernetes_cluster`.`permissions_owner_access`),ANY_VALUE(`kubernetes_cluster`.`permissions_owner`),ANY_VALUE(`kubernetes_cluster`.`other_access`),ANY_VALUE(`kubernetes_cluster`.`group_access`),ANY_VALUE(`kubernetes_cluster`.`group`),ANY_VALUE(`kubernetes_cluster`.`last_modified`),ANY_VALUE(`kubernetes_cluster`.`enable`),ANY_VALUE(`kubernetes_cluster`.`description`),ANY_VALUE(`kubernetes_cluster`.`creator`),ANY_VALUE(`kubernetes_cluster`.`created`),ANY_VALUE(`kubernetes_cluster`.`fq_name`),ANY_VALUE(`kubernetes_cluster`.`display_name`),ANY_VALUE(`kubernetes_cluster`.`contrail_cluster_id`),ANY_VALUE(`kubernetes_cluster`.`key_value_pair`) from kubernetes_cluster limit 1 offset 0 "
time="2018-01-02T14:15:00Z" level=debug msg=created model="{\"default_forwarding_class_id\":0,\"fq_name\":[],\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"annotations\":{\"key_value_pair\":[]},\"uuid\":\"dummy_uuid\",\"qos_config_type\":\"\",\"mpls_exp_entries\":{\"qos_id_forwarding_class_pair\":[]},\"vlan_priority_entries\":{\"qos_id_forwarding_class_pair\":[]},\"dscp_entries\":{\"qos_id_forwarding_class_pair\":[]},\"parent_type\":\"\",\"display_name\":\"\",\"parent_uuid\":\"\",\"global_system_config_refs\":null}"
time="2018-01-02T14:15:00Z" level=debug msg="select query" listSpec="&{widget map[] 1 0 false [uuid share owner_access owner global_access parent_uuid parent_type layout_config user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name content_config container_config key_value_pair] map[] map[] <nil>}" query="select ANY_VALUE(`widget`.`uuid`),ANY_VALUE(`widget`.`share`),ANY_VALUE(`widget`.`owner_access`),ANY_VALUE(`widget`.`owner`),ANY_VALUE(`widget`.`global_access`),ANY_VALUE(`widget`.`parent_uuid`),ANY_VALUE(`widget`.`parent_type`),ANY_VALUE(`widget`.`layout_config`),ANY_VALUE(`widget`.`user_visible`),ANY_VALUE(`widget`.`permissions_owner_access`),ANY_VALUE(`widget`.`permissions_owner`),ANY_VALUE(`widget`.`other_access`),ANY_VALUE(`widget`.`group_access`),ANY_VALUE(`widget`.`group`),ANY_VALUE(`widget`.`last_modified`),ANY_VALUE(`widget`.`enable`),ANY_VALUE(`widget`.`description`),ANY_VALUE(`widget`.`creator`),ANY_VALUE(`widget`.`created`),ANY_VALUE(`widget`.`fq_name`),ANY_VALUE(`widget`.`display_name`),ANY_VALUE(`widget`.`content_config`),ANY_VALUE(`widget`.`container_config`),ANY_VALUE(`widget`.`key_value_pair`) from widget limit 1 offset 0 "
time="2018-01-02T14:15:00Z" level=debug msg="select query" listSpec="&{address_group map[] 1 0 false [uuid share owner_access owner global_access parent_uuid parent_type user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair subnet] map[] map[] <nil>}" query="select ANY_VALUE(`address_group`.`uuid`),ANY_VALUE(`address_group`.`share`),ANY_VALUE(`address_group`.`owner_access`),ANY_VALUE(`address_group`.`owner`),ANY_VALUE(`address_group`.`global_access`),ANY_VALUE(`address_group`.`parent_uuid`),ANY_VALUE(`address_group`.`parent_type`),ANY_VALUE(`address_group`.`user_visible`),ANY_VALUE(`address_group`.`permissions_owner_access`),ANY_VALUE(`address_group`.`permissions_owner`),ANY_VALUE(`address_group`.`other_access`),ANY_VALUE(`address_group`.`group_access`),ANY_VALUE(`address_group`.`group`),ANY_VALUE(`address_group`.`last_modified`),ANY_VALUE(`address_group`.`enable`),ANY_VALUE(`address_group`.`description`),ANY_VALUE(`address_group`.`creator`),ANY_VALUE(`address_group`.`created`),ANY_VALUE(`address_group`.`fq_name`),ANY_VALUE(`address_group`.`display_name`),ANY_VALUE(`address_group`.`key_value_pair`),ANY_VALUE(`address_group`.`subnet`) from address_group limit 1 offset 0 "
--- FAIL: TestServiceGroup (0.01s)
service_group_test.go:43: list failed select query failed: Error 1305: FUNCTION contrail_test.ANY_VALUE does not exist
time="2018-01-02T14:15:00Z" level=debug msg="select query" listSpec="&{loadbalancer_healthmonitor map[] 1 0 false [uuid share owner_access owner global_access parent_uuid parent_type url_path timeout monitor_type max_retries http_method expected_codes delay admin_state user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair] map[] map[] <nil>}" query="select ANY_VALUE(`loadbalancer_healthmonitor`.`uuid`),ANY_VALUE(`loadbalancer_healthmonitor`.`share`),ANY_VALUE(`loadbalancer_healthmonitor`.`owner_access`),ANY_VALUE(`loadbalancer_healthmonitor`.`owner`),ANY_VALUE(`loadbalancer_healthmonitor`.`global_access`),ANY_VALUE(`loadbalancer_healthmonitor`.`parent_uuid`),ANY_VALUE(`loadbalancer_healthmonitor`.`parent_type`),ANY_VALUE(`loadbalancer_healthmonitor`.`url_path`),ANY_VALUE(`loadbalancer_healthmonitor`.`timeout`),ANY_VALUE(`loadbalancer_healthmonitor`.`monitor_type`),ANY_VALUE(`loadbalancer_healthmonitor`.`max_retries`),ANY_VALUE(`loadbalancer_healthmonitor`.`http_method`),ANY_VALUE(`loadbalancer_healthmonitor`.`expected_codes`),ANY_VALUE(`loadbalancer_healthmonitor`.`delay`),ANY_VALUE(`loadbalancer_healthmonitor`.`admin_state`),ANY_VALUE(`loadbalancer_healthmonitor`.`user_visible`),ANY_VALUE(`loadbalancer_healthmonitor`.`permissions_owner_access`),ANY_VALUE(`loadbalancer_healthmonitor`.`permissions_owner`),ANY_VALUE(`loadbalancer_healthmonitor`.`other_access`),ANY_VALUE(`loadbalancer_healthmonitor`.`group_access`),ANY_VALUE(`loadbalancer_healthmonitor`.`group`),ANY_VALUE(`loadbalancer_healthmonitor`.`last_modified`),ANY_VALUE(`loadbalancer_healthmonitor`.`enable`),ANY_VALUE(`loadbalancer_healthmonitor`.`description`),ANY_VALUE(`loadbalancer_healthmonitor`.`creator`),ANY_VALUE(`loadbalancer_healthmonitor`.`created`),ANY_VALUE(`loadbalancer_healthmonitor`.`fq_name`),ANY_VALUE(`loadbalancer_healthmonitor`.`display_name`),ANY_VALUE(`loadbalancer_healthmonitor`.`key_value_pair`) from loadbalancer_healthmonitor limit 1 offset 0 "
--- FAIL: TestWidget (0.01s)
widget_test.go:43: list failed select query failed: Error 1305: FUNCTION contrail_test.ANY_VALUE does not exist
--- FAIL: TestKubernetesCluster (0.01s)
kubernetes_cluster_test.go:43: list failed select query failed: Error 1305: FUNCTION contrail_test.ANY_VALUE does not exist
--- FAIL: TestAddressGroup (0.01s)
address_group_test.go:43: list failed select query failed: Error 1305: FUNCTION contrail_test.ANY_VALUE does not exist
time="2018-01-02T14:15:00Z" level=debug msg="select query" listSpec="&{openstack_storage_node_role map[] 1 0 false [uuid storage_backend_bond_interface_members storage_access_bond_interface_members provisioning_state provisioning_start_time provisioning_progress_stage provisioning_progress provisioning_log share owner_access owner global_access parent_uuid parent_type osd_drives journal_drives user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair] map[] map[] <nil>}" query="select ANY_VALUE(`openstack_storage_node_role`.`uuid`),ANY_VALUE(`openstack_storage_node_role`.`storage_backend_bond_interface_members`),ANY_VALUE(`openstack_storage_node_role`.`storage_access_bond_interface_members`),ANY_VALUE(`openstack_storage_node_role`.`provisioning_state`),ANY_VALUE(`openstack_storage_node_role`.`provisioning_start_time`),ANY_VALUE(`openstack_storage_node_role`.`provisioning_progress_stage`),ANY_VALUE(`openstack_storage_node_role`.`provisioning_progress`),ANY_VALUE(`openstack_storage_node_role`.`provisioning_log`),ANY_VALUE(`openstack_storage_node_role`.`share`),ANY_VALUE(`openstack_storage_node_role`.`owner_access`),ANY_VALUE(`openstack_storage_node_role`.`owner`),ANY_VALUE(`openstack_storage_node_role`.`global_access`),ANY_VALUE(`openstack_storage_node_role`.`parent_uuid`),ANY_VALUE(`openstack_storage_node_role`.`parent_type`),ANY_VALUE(`openstack_storage_node_role`.`osd_drives`),ANY_VALUE(`openstack_storage_node_role`.`journal_drives`),ANY_VALUE(`openstack_storage_node_role`.`user_visible`),ANY_VALUE(`openstack_storage_node_role`.`permissions_owner_access`),ANY_VALUE(`openstack_storage_node_role`.`permissions_owner`),ANY_VALUE(`openstack_storage_node_role`.`other_access`),ANY_VALUE(`openstack_storage_node_role`.`group_access`),ANY_VALUE(`openstack_storage_node_role`.`group`),ANY_VALUE(`openstack_storage_node_role`.`last_modified`),ANY_VALUE(`openstack_storage_node_role`.`enable`),ANY_VALUE(`openstack_storage_node_role`.`description`),ANY_VALUE(`openstack_storage_node_role`.`creator`),ANY_VALUE(`openstack_storage_node_role`.`created`),ANY_VALUE(`openstack_storage_node_role`.`fq_name`),ANY_VALUE(`openstack_storage_node_role`.`display_name`),ANY_VALUE(`openstack_storage_node_role`.`key_value_pair`) from openstack_storage_node_role limit 1 offset 0 "
time="2018-01-02T14:15:00Z" level=debug msg="select query" listSpec="&{physical_interface map[] 1 0 false [uuid share owner_access owner global_access parent_uuid parent_type user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name ethernet_segment_identifier display_name key_value_pair] map[physical_interface:[]] map[logical_interface:[uuid share owner_access owner global_access parent_uuid parent_type logical_interface_vlan_tag logical_interface_type user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name display_name key_value_pair]] <nil>}" query="select ANY_VALUE(`physical_interface`.`uuid`),ANY_VALUE(`physical_interface`.`share`),ANY_VALUE(`physical_interface`.`owner_access`),ANY_VALUE(`physical_interface`.`owner`),ANY_VALUE(`physical_interface`.`global_access`),ANY_VALUE(`physical_interface`.`parent_uuid`),ANY_VALUE(`physical_interface`.`parent_type`),ANY_VALUE(`physical_interface`.`user_visible`),ANY_VALUE(`physical_interface`.`permissions_owner_access`),ANY_VALUE(`physical_interface`.`permissions_owner`),ANY_VALUE(`physical_interface`.`other_access`),ANY_VALUE(`physical_interface`.`group_access`),ANY_VALUE(`physical_interface`.`group`),ANY_VALUE(`physical_interface`.`last_modified`),ANY_VALUE(`physical_interface`.`enable`),ANY_VALUE(`physical_interface`.`description`),ANY_VALUE(`physical_interface`.`creator`),ANY_VALUE(`physical_interface`.`created`),ANY_VALUE(`physical_interface`.`fq_name`),ANY_VALUE(`physical_interface`.`ethernet_segment_identifier`),ANY_VALUE(`physical_interface`.`display_name`),ANY_VALUE(`physical_interface`.`key_value_pair`),group_concat(distinct JSON_OBJECT('from', `ref_physical_interface_physical_interface`.`from`,'to', `ref_physical_interface_physical_interface`.`to`)) as `ref_physical_interface_physical_interface_ref`,group_concat(distinct JSON_OBJECT('uuid', `logical_interface`.`uuid`,'share', `logical_interface`.`share`,'owner_access', `logical_interface`.`owner_access`,'owner', `logical_interface`.`owner`,'global_access', `logical_interface`.`global_access`,'parent_uuid', `logical_interface`.`parent_uuid`,'parent_type', `logical_interface`.`parent_type`,'logical_interface_vlan_tag', `logical_interface`.`logical_interface_vlan_tag`,'logical_interface_type', `logical_interface`.`logical_interface_type`,'user_visible', `logical_interface`.`user_visible`,'permissions_owner_access', `logical_interface`.`permissions_owner_access`,'permissions_owner', `logical_interface`.`permissions_owner`,'other_access', `logical_interface`.`other_access`,'group_access', `logical_interface`.`group_access`,'group', `logical_interface`.`group`,'last_modified', `logical_interface`.`last_modified`,'enable', `logical_interface`.`enable`,'description', `logical_interface`.`description`,'creator', `logical_interface`.`creator`,'created', `logical_interface`.`created`,'fq_name', `logical_interface`.`fq_name`,'display_name', `logical_interface`.`display_name`,'key_value_pair', `logical_interface`.`key_value_pair`)) as `logical_interface_ref` from physical_interface left join `ref_physical_interface_physical_interface` on `physical_interface`.`uuid` = `ref_physical_interface_physical_interface`.`from` left join `logical_interface` on `physical_interface`.`uuid` = `logical_interface`.`parent_uuid` group by ref_physical_interface_physical_interface.`from`,logical_interface.`uuid` limit 1 offset 0 "
time="2018-01-02T14:15:00Z" level=debug msg="select query" listSpec="&{qos_config map[] 1 0 false [qos_id_forwarding_class_pair uuid qos_config_type share owner_access owner global_access parent_uuid parent_type mpls_exp_entries_qos_id_forwarding_class_pair user_visible permissions_owner_access permissions_owner other_access group_access group last_modified enable description creator created fq_name dscp_entries_qos_id_forwarding_class_pair display_name default_forwarding_class_id key_value_pair] map[global_system_config:[]] map[] <nil>}" query="select ANY_VALUE(`qos_config`.`qos_id_forwarding_class_pair`),ANY_VALUE(`qos_config`.`uuid`),ANY_VALUE(`qos_config`.`qos_config_type`),ANY_VALUE(`qos_config`.`share`),ANY_VALUE(`qos_config`.`owner_access`),ANY_VALUE(`qos_config`.`owner`),ANY_VALUE(`qos_config`.`global_access`),ANY_VALUE(`qos_config`.`parent_uuid`),ANY_VALUE(`qos_config`.`parent_type`),ANY_VALUE(`qos_config`.`mpls_exp_entries_qos_id_forwarding_class_pair`),ANY_VALUE(`qos_config`.`user_visible`),ANY_VALUE(`qos_config`.`permissions_owner_access`),ANY_VALUE(`qos_config`.`permissions_owner`),ANY_VALUE(`qos_config`.`other_access`),ANY_VALUE(`qos_config`.`group_access`),ANY_VALUE(`qos_config`.`group`),ANY_VALUE(`qos_config`.`last_modified`),ANY_VALUE(`qos_config`.`enable`),ANY_VALUE(`qos_config`.`description`),ANY_VALUE(`qos_config`.`creator`),ANY_VALUE(`qos_config`.`created`),ANY_VALUE(`qos_config`.`fq_name`),ANY_VALUE(`qos_config`.`dscp_entries_qos_id_forwarding_class_pair`),ANY_VALUE(`qos_config`.`display_name`),ANY_VALUE(`qos_config`.`default_forwarding_class_id`),ANY_VALUE(`qos_config`.`key_value_pair`),group_concat(distinct JSON_OBJECT('from', `ref_qos_config_global_system_config`.`from`,'to', `ref_qos_config_global_system_config`.`to`)) as `ref_qos_config_global_system_config_ref` from qos_config left join `ref_qos_config_global_system_config` on `qos_config`.`uuid` = `ref_qos_config_global_system_config`.`from` group by ref_qos_config_global_system_config.`from` limit 1 offset 0 "
--- FAIL: TestLoadbalancerHealthmonitor (0.01s)
loadbalancer_healthmonitor_test.go:43: list failed select query failed: Error 1305: FUNCTION contrail_test.ANY_VALUE does not exist
--- FAIL: TestOpenstackStorageNodeRole (0.01s)
openstack_storage_node_role_test.go:43: list failed select query failed: Error 1305: FUNCTION contrail_test.ANY_VALUE does not exist
time="2018-01-02T14:15:00Z" level=debug msg="create query" model="{\"peering_service\":\"\",\"parent_uuid\":\"\",\"id_perms\":{\"user_visible\":false,\"last_modified\":\"\",\"permissions\":{\"group\":\"\",\"group_access\":0,\"owner\":\"\",\"owner_access\":0,\"other_access\":0},\"enable\":false,\"description\":\"\",\"created\":\"\",\"creator\":\"\"},\"display_name\":\"\",\"annotations\":{\"key_value_pair\":[]},\"perms2\":{\"owner\":\"\",\"owner_access\":0,\"global_access\":0,\"share\":[]},\"uuid\":\"dummy_uuid\",\"parent_type\":\"\",\"fq_name\":[]}" query="insert into `peering_policy` (`uuid`,`share`,`owner_access`,`owner`,`global_access`,`peering_service`,`parent_uuid`,`parent_type`,`user_visible`,`permissions_owner_access`,`permissions_owner`,`other_access`,`group_access`,`group`,`last_modified`,`enable`,`description`,`creator`,`created`,`fq_name`,`display_name`,`key_value_pair`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
time="2018-01-02T14:15:00Z" level=fatal msg="Error 1451: Cannot delete or update a parent row: a foreign key constraint fails (`contrail_test`.`ref_virtual_network_network_policy`, CONSTRAINT `ref_virtual_network_network_policy_ibfk_2` FOREIGN KEY (`to`) REFERENCES `network_policy` (`uuid`))"
FAIL github.com/Juniper/contrail/pkg/generated/db 0.056s
ok github.com/Juniper/contrail/pkg/generated/models 1.121s coverage: 27.3% of statements
make: *** [test] Error 1
Update the CircleCI configuration to integrate the generated coverage report with a third party code coverage tool like https://coveralls.io or https://codecov.io
Ensure that the git merge process checks for minimum coverage.
Add parent resource support on ORM and API
Show child resources on API call
The committed vendor content is out sync with the configuration.
$ dep check
# vendor is out of sync:
github.com/flosch/pongo2: hash of vendored tree not equal to digest in Gopkg.lock
github.com/spf13/viper: hash of vendored tree not equal to digest in Gopkg.lock
github.com/yudai/gotty: hash of vendored tree not equal to digest in Gopkg.lock
URL rewriting on returned JSON contents
In file (for example) schemas/abstract/base.yml CRUD operations specification are described by different key: operation vs operations.
Add packaging for dep / rpm
Hi,
I tried to build this application along with the README, however, make deps failed to fetch "asf" library. Is there any way for someone who doesn't have access to the repository like me to build this application?
Regards
go: github.com/Juniper/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /home/shun159/go/pkg/mod/cache/vcs/220722af7b2fb35a94a4f178ce0d40fb894c1e2498ff5adfb245facd98eea91f: exit status 128:
fatal: could not read Username for 'https://github.com': terminal prompts disabled
go: github.com/Juniper/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /home/shun159/go/pkg/mod/cache/vcs/220722af7b2fb35a94a4f178ce0d40fb894c1e2498ff5adfb245facd98eea91f: exit status 128:
fatal: could not read Username for 'https://github.com': terminal prompts disabled
go: github.com/Juniper/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /home/shun159/go/pkg/mod/cache/vcs/220722af7b2fb35a94a4f178ce0d40fb894c1e2498ff5adfb245facd98eea91f: exit status 128:
fatal: could not read Username for 'https://github.com': terminal prompts disabled
go: github.com/Juniper/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /home/shun159/go/pkg/mod/cache/vcs/220722af7b2fb35a94a4f178ce0d40fb894c1e2498ff5adfb245facd98eea91f: exit status 128:
fatal: could not read Username for 'https://github.com': terminal prompts disabled
go: github.com/Juniper/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /home/shun159/go/pkg/mod/cache/vcs/220722af7b2fb35a94a4f178ce0d40fb894c1e2498ff5adfb245facd98eea91f: exit status 128:
fatal: could not read Username for 'https://github.com': terminal prompts disabled
Hook framework for adding new logic for generated code
deps.sh missing from commit?
doneill at doneill-mbp in /projects/github/contrail on master
$ make all
./tools/deps.sh
make: ./tools/deps.sh: No such file or directory
make: *** [deps] Error 1
I am unclear what is happening in each of the sections. Everything with a section header requires an explanation of what it’s doing when running the commands. This will require someone who understand this to complete, I can’t help with this.
For e.g. thing that should be described;
Placeholder against #32
Ensure that solution works with mariadb as well as mysql.
Ref #34
README.md will contain instructions for a user
CONTRIBUTING.md will contain instructions for a contributor
"Cobra is a really clean package. I wish my own CLI library was as good!" - Jeremy Saenz (author of codegangsta/cli)
Kube, Openshift and most of our golang utilities have moved from urfave to cobra over the last 12 months. Worth checking it out.
UseCase: A client needs to create/update/delete multiple resources in a single transaction (ensure all or nothing)
We need to support this bulk create/update/delete.
One optimization could be done is to store uuid as binary(16) instead of varchar(255). Because primary key is going to be in every secondary index table and foreign key constraints and index tables need to be cached in mysql memory to get better query performance, it is a big saving if we can reduce the uuid (primary key) from 255 to 16 bytes. Here is a nice posting on uuid as primary key:
https://mysqlserverteam.com/storing-uuid-values-in-mysql-tables/
Working through the README.
Run the following command
$ contrail -c sample/contrail.yml run
Output log contains a warning
...
INFO[0000] Started Worker 3
INFO[0000] Started Worker 4
DEBU[0000] Setting MessageIndex to 0 (if not exists) logger=intent-compiler
WARN[0000] gocql: unable to create session: unable to discover protocol version: dial tcp 127.0.0.1:9042: connect: connection refused
DEBU[0000] Starting handle loop
...
There is nothing running on this port
$ netstat -an | grep 9042
Also noted the following log
DEBU[0000] Cassandra watcher enabled for cache
Looking at the previous step where third parties are started with docker images, there is no cassandra image started.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6e720a7055a3 gcr.io/etcd-development/etcd:v3.3.2 "etcd --advertise-cl…" About a minute ago Up About a minute 0.0.0.0:2379->2379/tcp, 2380/tcp contrail_etcd
86a267684c3c circleci/mysql:5.7 "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp contrail_mysql
f0dd907c4409 circleci/postgres:10.3-alpine "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:5432->5432/tcp contrail_postgres
Current implementation of vnc api client library, frames fq_name of the object based on the following criteria
we need to do similar thing in go-api-server as well.
if parent_obj:
self.parent_type = parent_obj._type
# copy parent's fq_name
self.fq_name = list(parent_obj.fq_name)
self.fq_name.append(name)
elif kwargs_parent_type and kwargs_fq_name:
self.parent_type = kwargs_parent_type
self.fq_name = kwargs_fq_name
else: # No parent obj specified
self.parent_type = 'project'
self.fq_name = [u'default-domain', u'default-project']
self.fq_name.append(name)
Guys it looks like dep is going to complete in 1.9 and be merged in 1.10. Giving that its going to be part of the standard tooling it probably makes more since to use it than glide.
place holder for supporting Contrail API compatible Server logic
PUT operation isn't backward compatible with VNC API
We shouldn't' take operation as an input parameter, and API server should update all references.
API Doc generation
Why are we committing autogenerated code?
On the second step, ‘make generate’ this results in new files being generated in my workspace. These files have been committed to github.
If the intent is to supported a build generated solution as well as a checkout (and everything is there) solution, then the README.md should be updated to reflect this.
Following instructions in the README.
make deps
Results in
The name is too long, 440 chars total.
Trying to shorten...
New name is 599460c2-e70a-11e7-90ae-c937d65159d8?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181108%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181108T214242Z&X-Amz-Expires=300&X-Amz-Signature=76432ab9a88b45de8e2063a.
--2018-11-08 21:42:42-- https://github-production-release-asset-2e65be.s3.amazonaws.com/23357588/599460c2-e70a-11e7-90ae-c937d65159d8?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181108%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181108T214242Z&X-Amz-Expires=300&X-Amz-Signature=76432ab9a88b45de8e2063a4a62958bd72acefc8bab3473bc6c9f4289e321518&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dprotoc-3.5.1-osx-x86_64.zip&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 54.231.114.82
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|54.231.114.82|:443... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
x-amz-id-2: xng8hEyCxbbIAyBpV+QqIfQ7Xgde7vDRhx318WD88KSKuheXZ3lMpI3avZR16hler7rRobbtoqs=
x-amz-request-id: 2F2414A5E1D717E1
Date: Thu, 08 Nov 2018 21:42:43 GMT
Last-Modified: Fri, 22 Dec 2017 19:22:12 GMT
ETag: "fd5b89e553adde566746e90714cadce2"
Content-Disposition: attachment; filename=protoc-3.5.1-osx-x86_64.zip
Accept-Ranges: bytes
Content-Type: application/octet-stream
Content-Length: 1868520
Server: AmazonS3
Length: 1868520 (1.8M) [application/octet-stream]
Saving to: ‘599460c2-e70a-11e7-90ae-c937d65159d8?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181108%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181108T214242Z&X-Amz-Expires=300&X-Amz-Signature=76432ab9a88b45de8e2063a’
599460c2-e70a-11e7-90ae-c937d65159d8?X-Amz-Algor 100%[=======================================================================================================>] 1.78M 338KB/s in 5.5s
2018-11-08 21:42:48 (333 KB/s) - ‘599460c2-e70a-11e7-90ae-c937d65159d8?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181108%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181108T214242Z&X-Amz-Expires=300&X-Amz-Signature=76432ab9a88b45de8e2063a’ saved [1868520/1868520]
unzip: cannot find or open protoc-3.5.1-osx-x86_64.zip, protoc-3.5.1-osx-x86_64.zip.zip or protoc-3.5.1-osx-x86_64.zip.ZIP.
make: *** [deps] Error 9
Host details below:
ProductName: Mac OS X
ProductVersion: 10.12.6
BuildVersion: 16G1618
for demo and local use cases, we generate self-signed certificates and GO server needs supporting endpoints using these while proxying requests.
currently GO responds back with
2018/02/13 16:03:26 http: proxy error: x509: cannot validate certificate for 10.84.30.250 because it doesn't contain any IP SANs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.