openbaton / go-docker-vnfm

Apache License 2.0
2 stars 2 forks source link

6.0.1 / Docker VNFM crash upon NS instanciation #9

Open jlsnt opened 4 years ago

jlsnt commented 4 years ago

Hello,

Trying to instanciate a NS with one or many of its VNFs having a bogus VNF descriptor like this one (only the relevant part is shown) :

        "configurationParameters":[
            {
                "confKey":"Publish",
                "value":""
            }

... meaning an empty value for the "Publish" configuration key, causes the Docker VNFM to crash.

OpenBaton 6.0.1 deployed via docker-compose.

vnfm-docker-go logs:

22:07:29 [DEBU] docker-vnf -> handleNfvM ▶  Received Message INSTANTIATE
22:07:29 [DEBU] docker-vnf -> (*worker). ▶  received extensions: map[brokerIp:10.66.95.9 brokerPort:5672 monitoringIp: nsr-id:51966abe-79a8-447b-a3c1-9c147df4b2c4 timezone:CET]
22:07:29 [DEBU] docker-vnf -> (*worker). ▶  received keys: []
22:07:29 [INFO] docker-vnf ->        Rpc ▶  Executing RPC to queue: vnfm.nfvo.actions.reply
22:07:29 [DEBU] docker-vnf ->        Rpc ▶  Getting Channel for RPC
22:07:29 [DEBU] docker-vnf ->        Rpc ▶  Got Channel for RPC
22:07:29 [DEBU] docker-vnf ->        Rpc ▶  Declaring Queue for RPC
22:07:29 [DEBU] docker-vnf ->        Rpc ▶  Declared Queue for RPC
22:07:29 [DEBU] docker-vnf ->        Rpc ▶  Registering consumer for RPC
22:07:29 [DEBU] docker-vnf ->        Rpc ▶  Registered consumer for RPC
22:07:29 [DEBU] docker-vnf ->        Rpc ▶  Publishing message to queue vnfm.nfvo.actions.reply
22:07:29 [DEBU] docker-vnf ->        Rpc ▶  Published message to queue vnfm.nfvo.actions.reply
22:07:45 [DEBU] docker-vnf ->        Rpc ▶  Received Response
22:07:45 [DEBU] docker-vnf -> (*worker). ▶  Received VNFR after GRANT_OPERATION
22:07:45 [DEBU] docker-vnf -> FillConfig ▶  cassandra: Internal Config is &{VnfrID:873f7263-8ca8-4f40-8e45-7dbdb094c541 ContainerIDs:map[] Name:cassandra DNSs:[] ImageName: BaseHostname: RestartPolicy: Cmd:[] PubPort:[[]] ExpPort:[] Constraints:[] Mnts:[] Own:map[] NetworkCfg:map[] Foreign:map[] VimInstance:map[] VduService:map[]}
22:07:45 [DEBU] docker-vnf -> (*VnfmImpl ▶  cassandra VNF has 1 VNFC(s)
22:07:45 [DEBU] docker-vnf -> GetCPsAndI ▶  Adding New Connection Point: &{ID: HbVersion:0 ProjectID: Shared:false Metadata:map[] Type:docker FixedIp: ChosenPool: VirtualLinkReference:clearwater_5514 VirtualLinkReferenceId: FloatingIP:random InterfaceID:0}
22:07:45 [DEBU] docker-vnf -> SaveConfig ▶  Saving config with id: 873f7263-8ca8-4f40-8e45-7dbdb094c541
22:07:45 [DEBU] docker-vnf -> handleNfvM ▶  Received Message START
22:07:45 [DEBU] docker-vnf ->  getConfig ▶  Getting config with id: 873f7263-8ca8-4f40-8e45-7dbdb094c541
22:07:45 [DEBU] docker-vnf -> (*VnfmImpl ▶  cassandra: Aliases: [cassandra.clearwater cassandra]
22:07:45 [DEBU] docker-vnf -> (*VnfmImpl ▶  cassandra: OB net names are map[clearwater_5514:clearwater]
22:07:45 [DEBU] docker-vnf -> (*VnfmImpl ▶  cassandra: First network is: clearwater_5514
panic: runtime error: index out of range

goroutine 92 [running]:
github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-docker-vnfm/handler.(*VnfmImpl).startContainer(0xc00021fc40, 0xc00962e780, 0x24, 0xc00962a570, 0xc009611260, 0x9, 0x0, 0x0, 0x0, 0xc00962e7b0, ...)
    /go/src/github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-docker-vnfm/handler/handler.go:365 +0x2be5
github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-docker-vnfm/handler.(*VnfmImpl).Start(0xc00021fc40, 0xc0095c58c0, 0x80, 0x88, 0xc00959c7e0)
    /go/src/github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-docker-vnfm/handler/handler.go:234 +0x2fa
github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/vnfmsdk.(*worker).handleStart(0xc009629d80, 0xc0095894a0, 0x9f7784, 0x5, 0x0)
    /go/src/github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/vnfmsdk/worker.go:382 +0x319
github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/vnfmsdk.handleMessage(0xac4640, 0xc0095ca7b0, 0xc009629d80, 0xace940, 0xc00021fc40)
    /go/src/github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/vnfmsdk/handler.go:88 +0x677
github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/vnfmsdk.handleNfvMessage(0xc009601980, 0x1952, 0x1980, 0x9d80c0, 0xc00021fc40, 0x1, 0xc000256000, 0x0, 0x0, 0x0, ...)
    /go/src/github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/vnfmsdk/handler.go:31 +0x5af
github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/sdk.(*Manager).Serve.func1.1(0xc009370000, 0xc009440640)
    /go/src/github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/sdk/commonsdk.go:311 +0xc1
created by github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/sdk.(*Manager).Serve.func1
    /go/src/github.com/golang/openbaton/go-docker-vnfm/vendor/github.com/openbaton/go-openbaton/sdk/commonsdk.go:310 +0x1cf
22:07:46 [INFO] docker-vnf -> startWithC ▶  Starting VNFM of type docker

J.