jclouds 支持较新的 vCloud API

Posted

技术标签:

【中文标题】jclouds 支持较新的 vCloud API【英文标题】:jclouds support for newer vCloud APIs 【发布时间】:2014-06-28 13:35:40 【问题描述】:

我们必须为我们的迁移服务(从 AWS 到 Openstack 再到 vCloud 等等)支持许多不同的目标云,所以我想我至少会在我们检索帐户属性的部分(例如区域、组织)中使用 jclouds 、目录等)

但是,jclouds 对“通用”vCloud API 的支持似乎停留在 1.0 版——而且当我们在内部运行 1.5(和 5.1)时,这使得 jcloud 非常无用,至少就 vcloud 而言(我认为 1.5早在去年 9 月就被 VMWare “弃用”了?)。

有没有人知道我是否在这里遗漏了一些明显的东西,或者是否有升级支持的计划?

显然,我们将使用 vmware 的 SDK,但最好通过 jclouds 抽象所有云。

这是我收到的错误:

version 1.0 not present in: 1.5=https://10.10.122.13/api/sessions, 5.1=https://10.10.122.13/api/sessions

我使用的代码几乎直接来自(极其稀疏的)“用户指南”:

private VCloudApi getVcloudContext() throws IOException 
    Credentials creds = getVcloudCredentials();
    Properties overrides = new Properties();
    overrides.setProperty(VCLOUD_ENDPOINT, creds.url);
    overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");

    return ContextBuilder.newBuilder(VCLOUD_PROVIDER)
            .overrides(overrides)
            .credentials(creds.username, creds.username)
            .modules(ImmutableSet.<Module> of(new Log4JLoggingModule(),
                    new SshjSshClientModule()))
            .buildApi(VCloudApi.class);


// in my main():
VCloudApi api = app.getVcloudContext();
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() 
    public boolean verify(String string, SSLSession ssls) 
        return true;
    
);
Map<String, ?> orgsList = api.getOrgApi().listOrgs();

我们将不胜感激任何帮助、建议和指向更好文档的指针:谢谢!

【问题讨论】:

【参考方案1】:

jclouds 在添加和维护对 vCloud API 的支持方面一直很慢。 VMware 支持该项目的时间很短,但我怀疑今天使用 jclouds 和 vCloud 的人的交叉点可能足够小,以至于 vCloud 支持实际上已经死了。由于 vCD 或 vCHS 的固有成本,它可能需要企业 vCD/vCHS 客户开发和捐赠更新的代码以支持 vCloud API 5.5+。

如果您不是特别喜欢这个答案(我不喜欢),我会向您的 VMware 代表投诉 jclouds 或fog 等第三方库的可悲状态。在这些库中建立 vCloud 支持符合 VMware 的最大利益,因为它可以帮助他们赢得客户并让他们尝试从竞争产品中迁移。

【讨论】:

感谢您的回答——我猜到了很多,嗯,你说得对:我不喜欢它......但现实有这种不愉快的习惯,它会侵入我们的梦想和希望 :)我们将跟进 vmWare(他们实际上是我们的合作伙伴),但我不希望很快解决这个问题。我想我们会继续使用 SDK(远非理想)。

以上是关于jclouds 支持较新的 vCloud API的主要内容,如果未能解决你的问题,请参考以下文章

FCM - 为啥在较新的 Firebase Admin SDK 中不再支持 FCM 直接通道?

Apache jclouds api 是不是支持 Miscrosoft Azure SAS

在 IE 8 和 7 中使用较新的 CSS3 选择器的首选方法是啥?

Github Automerge 失败通知(API v4 GraphQL 变异 enablePullRequestAutoMerge)

如何切换节点版本以安装较新的版本(v14.15.4)

如何使用 JClouds-Chef 指定客户端版本?