IBM-Cloud / ibm-cloud-cli-release

Apache License 2.0
155 stars 76 forks source link

Unable to call `wsk` subcommands #196

Open matthewdickinson opened 1 year ago

matthewdickinson commented 1 year ago

I'm trying to generate the .wskprops file, but am unable to do so. I've logged in via ibmcloud login, but the commands I've seen referenced throw errors indicating that I need to use CloudFoundry.

All of the commands below

ibmcloud fn list
ibmcloud fn api
ibmcloud fn property get --auth

generate

A target Org and Space must be specified. Use 'ibmcloud target --cf' or 'ibmcloud target -o ORG -s SPACE' to set these values.

However, it appears that CloudFoundry is deprecated? Am I doing something wrong, is this a bug, or is the OpenWhisk interface no longer supported?

azieseme commented 1 year ago

Hi @matthewdickinson . Until deprecated CloudFoundry and its Orgs/Spaces are fully gone we'll likely keep seeing traces of it.

Since I see you ask for fn api, note that support for Functions' API Gateway ended by September 2022 (compare https://www.ibm.com/cloud/blog/announcements/api-gateway-migration-options-for-ibm-cloud-function-users).

To run the three commands above successfully, you first need to target either your IAM-based Cloud Functions namespace (which requires targeting resource group first) or your CF-based Cloud Functions namespace (which requires targeting your CF org/space first).

Also, I think auth in fn property get --auth is specific to CF-based namespaces, not relevant / not needed for IAM-based namespaces.

To give you an example:

# IAM-based namespace
ibmcloud login -r <region> -g <resource-group>
ibmcloud fn namespace list   # allows to see both CF-based and IAM-based namespaces
ibmcloud fn namespace target <fn-namespace>
ibmcloud fn list

# CF-based namespace
ibmcloud login -r <region> -o <org> -s <space>
ibmcloud fn list
matthewdickinson commented 1 year ago

OK. So that appears to let me target those functions from the CLI! Thanks!

So, given the lack of functional ibmcloud fn property get --auth command, I am correct in understanding that it's no longer possible to manage functions with OpenWhisk enabled tools (e.g. Serverless Framework)? It doesn't seem like a huge deal, but I'd like to be clear if that's not an unsupported use-case.