Code Monkey home page Code Monkey logo

contrail's Introduction

[POC] Go code base for Contrail projects

This repository holds Go implementation for Contrail projects. The goal of this project is to realize Go-based implementation & etcd based such as Kubernetes in order to improve performance, scale and ease operation.

We are planning to add following sub components.

  • API Server (Python-based VNC API Server equivalent)
  • Sync (IF-MAP, RabbitMQ related code equivalent but depends on etcd)
  • Agent (SchemaTransformer, Device Manager equivalent)
  • Code generation tool (generateDS equivalent)

Currently, this project is POC stage so any external/internal API or design subject to change up to community discussion.

Development setup

Step1. Install Go, Docker and Docker Compose

Step2. Go get Contrail

go get -u github.com/Juniper/contrail

Note that go get -u github.com/Juniper/contrail/cmd/contrailutil fails because we don't commit generated code.

Step3. Install dependencies

# move to repo
cd $HOME/go/src/github.com/Juniper/contrail
# make sure put GOBIN to path
export PATH=$PATH:$HOME/go/bin
# or if you defined GOPATH
# cd $GOPATH/src/github.com/Juniper/contrail
make deps

Step4. Generate source code

make generate

Step5. Install Contrail binaries

make install

Step6. Setup test environment

make testenv reset_db

Note that these commands use docker command and depending on your Docker configuration they may require root permissions. See: Docker Documentation

First run

  • Run Contrail process

    contrail -c sample/contrail.yml run

    Note that you can overwrite configuration parameters using environment variable with prefix "CONTRAIL_"

    For example CONTRAIL_DATABASE_DEBUG is overwriting database.debug value.

    CONTRAIL_DATABASE_DEBUG=true contrail -c sample/contrail.yml run

    Individual processes can be enabled or disabled using the configuration parameters.

  • Run CLI commands

    export CONTRAIL_CONFIG=sample/cli.yml
    
    # Show schema
    contrailcli schema virtual_network
    
    # Sync resources
    contrailcli sync sample/sample_resource.yml
    
    # List resources
    contrailcli list virtual_network --detail
    
    # Delete resources
    contrailcli delete sample/sample_resource.yml

    See: CLI Usage

Testing

Run all tests with coverage:

make test

API documentation

OpenAPI specification file is generated during every run of make generate and it is located in ./public/openapi.json.

You can also run API doc server on local machine using:

make apidoc

The doc will be available on localhost:5000.

How to contribute

Step1

Setup Gerrit account. Sign CLA.

Step2

Install git-review tool.

pip install git-review

Step3

Send review to Gerrit:

git review

Documentation

See: Documentation index

contrail's People

Contributors

alrighttheresham avatar andrey-mp avatar aosorgin avatar biswajit-mandal avatar cijohnson avatar coderoot avatar dianqiji avatar drapek avatar edwinpjacques avatar iosetek avatar katrybacka avatar kbr- avatar madhukar32 avatar mateumann avatar mhines99 avatar mlastawi avatar mlynekt avatar mmithun avatar mprasannajuniper avatar nati avatar pawelzny avatar renkam avatar rrugge avatar sajeeshmat avatar skizhak avatar tilgalas avatar vmahuli avatar vozhyk- avatar wurbanski avatar zhiqiangcui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

contrail's Issues

Schema management improvement

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?

Support bulk create/update/delete

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.

Change primary key (uuid) from varchar(255) to binary(16)

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/

Local keystone authentication expects user id instead of user name

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" } } } } }

Support insecure certificate for test

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

Build failing

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

Hook framework

Hook framework for adding new logic for generated code

README Clarification

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;

  • When I run β€˜make generate’ what is being generated? Why are we generating? How will they be used?
  • What are the schema files, how are they used?
  • When I run β€˜make test’ what is being tested, the generator, framework, use cases, etc?
  • What is the API server, when I start it what is it exposing? How can I confirm it started correctly? What endpoints are available?
  • The two command line tools that are shown, how are these built?

Inconsistent naming of API Server response keys

Current behaviour

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:

  • β€œvirtual-network” key in Server response for create, update
  • β€œvirtual-networks” key in Server response for list operation
  • β€œvirtual_network” key in Server response for show operation

It requires CLI code to do some string replacements, which shouldn't be needed.

Proposed solution

I think it would be the best to use following:

  • Schema.ID for create, update, show operation (f.e. "virtual_network")
  • Schema.Plural for list operation (f.e. "virtual_networks")

Another option are:

  • use "data" response key for all resources
  • use result object (naming from code snippet) as JSON root (no place for future metadata next to resource data in this option)

Warning in output log for contrail command line application

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

CLI

"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.

https://github.com/spf13/cobra

Dep Management

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.

https://github.com/golang/dep

dynamic fq_name setting based on the parent obj and request json

Current implementation of vnc api client library, frames fq_name of the object based on the following criteria

  1. parent obj
  2. fq_name set in request body
  3. No parent

we need to do similar thing in go-api-server as well.

code snippet:

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)

[Question] How to build this application?

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 version: go1.15.6 linux/amd64
  • OS: Ubuntu 20.10
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   

Problem with make deps on osx

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

Add parent support

Add parent resource support on ORM and API
Show child resources on API call

handling parent child relationship

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.

Vendor folder is not synced with configuration

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

API Server's show operation does not return Not Found error

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.

Committing autogen code

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.

Docs Question

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

  • Control Node, Device Manager, KubeManager are separate processes (running outside of this go binary)
  • That they communicate with the solution via watching the etcd instance and generate updates via requests to the API Gateway
  • That the API, Sync and Intent Compiler are running within this binary, though they could execute in separate binaries by starting multiple instances of this binary and enabling or disabling specific components

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.

make test failing

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

agent sync fails to trigger tasks

  • agent not syncing due to the due to schema change
  • agent during sync, updates resource with schema_id and maintains local cache of resources,
    during next poll, the resource is read which wont have schema_id. newly read resource is compared
    with cached resource and triggers update action handlers.(which is not the expected behavior).
  • context should contain config data (user id, password. auth and project info) which can used by the
    template handlers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.