code: func NewFakeOpenStackCloud(cfg Config) (*OpenStack, error) {
  	provider, err := openstack.NewClient(cfg.Global.AuthURL)
  	if err != nil {
  		return nil, err
  	}
  	emptyDuration := MyDuration{}
  	if cfg.Metadata.RequestTimeout == emptyDuration {
  		cfg.Metadata.RequestTimeout.Duration = time.Duration(defaultTimeOut)
  	}
  	provider.HTTPClient.Timeout = cfg.Metadata.RequestTimeout.Duration
  
  	os := OpenStack{
  		provider:     provider,
  		region:       cfg.Global.Region,
  		lbOpts:       cfg.LoadBalancer,
  		bsOpts:       cfg.BlockStorage,
  		routeOpts:    cfg.Route,
  		metadataOpts: cfg.Metadata,
  	}
  
  	return &os, nil
  }
docs: // NewFakeOpenStackCloud creates and returns an instance of Openstack cloudprovider.
  // Mainly for use in tests that require instantiating Openstack without having
  // to go through cloudprovider interface.