- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 jclouds 在 openstack 中创建了一个服务器。虽然我可以创建服务器,但我还想传递我的公共(public) ssh key ,以便在云初始化完成后连接到服务器。下面是我的代码。
package org.chris.jcloud;
import static com.google.common.io.Closeables.closeQuietly;
import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.util.Set;
import java.util.concurrent.TimeoutException;
import org.jclouds.ContextBuilder;
import org.jclouds.compute.ComputeService;
import org.jclouds.compute.ComputeServiceContext;
import org.jclouds.compute.domain.NodeMetadata;
import org.jclouds.compute.domain.TemplateBuilder;
import org.jclouds.compute.options.RunScriptOptions;
import org.jclouds.io.Payloads;
import org.jclouds.logging.slf4j.config.SLF4JLoggingModule;
import org.jclouds.openstack.nova.v2_0.NovaApi;
import org.jclouds.openstack.nova.v2_0.NovaAsyncApi;
import org.jclouds.openstack.nova.v2_0.domain.Server;
import org.jclouds.openstack.nova.v2_0.domain.ServerCreated;
import org.jclouds.openstack.nova.v2_0.features.ServerApi;
import org.jclouds.openstack.nova.v2_0.options.CreateServerOptions;
import org.jclouds.predicates.SocketOpen;
import org.jclouds.rest.RestContext;
import org.jclouds.scriptbuilder.ScriptBuilder;
import com.google.common.collect.ImmutableSet;
import com.google.inject.Module;
import com.google.common.base.Predicate;
import com.google.common.io.Closeables;
import com.google.common.net.HostAndPort;
import org.jclouds.compute.RunNodesException;
import org.jclouds.compute.domain.Template;
import org.jclouds.scriptbuilder.domain.OsFamily;
import org.jclouds.sshj.config.SshjSshClientModule;
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.jclouds.compute.config.ComputeServiceProperties.POLL_INITIAL_PERIOD;
import static org.jclouds.compute.config.ComputeServiceProperties.POLL_MAX_PERIOD;
import static org.jclouds.compute.options.TemplateOptions.Builder.authorizePublicKey;
public class JClouds implements Closeable {
private ComputeService compute;
private RestContext<NovaApi, NovaAsyncApi> nova;
private Set<String> zones;
public static void main(String[] args) throws IOException {
JClouds jCloudsNova = new JClouds();
try {
jCloudsNova.init();
jCloudsNova.listServers();
jCloudsNova.close();
jCloudsNova.createServers();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
jCloudsNova.close();
}
}
private void init() {
Iterable<Module> modules = ImmutableSet.<Module> of(new SLF4JLoggingModule());
String provider = "openstack-nova";
String identity = "admin:admin"; // tenantName:userName
String password = "test"; // demo account uses ADMIN_PASSWORD too
ComputeServiceContext context = ContextBuilder.newBuilder(provider)
.endpoint("http://192.168.1.33:5000/v2.0/")
.credentials(identity, password)
.modules(modules)
.buildView(ComputeServiceContext.class);
compute = context.getComputeService();
nova = context.unwrap();
zones = nova.getApi().getConfiguredZones();
}
private void listServers() {
for (String zone: zones) {
ServerApi serverApi = nova.getApi().getServerApiForZone(zone);
System.out.println("Servers in " + zone);
for (Server server: serverApi.listInDetail().concat()) {
System.out.println(" " + server);
}
}
}
private void createServers() {
for (String zone : zones) {
ServerApi serverApi = nova.getApi().getServerApiForZone(zone);
CreateServerOptions sv = CreateServerOptions.Builder.adminPass("test");
ServerCreated newServer = serverApi.create("paparia", "ab8fbee6-4907-4e59-ba77-471362bc8200", "1", sv);
// TemplateBuilder templateBuilder = compute.templateBuilder();
// Template template = templateBuilder.options(authorizePublicKey(Payloads.newPayload(new File("/home/me/.ssh/id_rsa.pub")).toString())).build();
System.out.println("Servers in " + zone);
listServers();
}
}
@Override
public void close() throws IOException {
// TODO Auto-generated method stub
}
/*public void close() {
closeQuietly(compute.getContext());
}*/
}
最佳答案
我不知道,如何在客户端运行时指定新 key ,但要使用预先上传到 Openstack 的预定义公钥,使用方法
CreateServerOptions.Builder.keyPairName(KEY_NAME)
关于ssh - 在 openstack 中使用 jclouds 传递 ssh key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19733905/
我有一些连接到 JClouds swift 存储容器的代码,它在自己的测试区运行良好,但是一旦我集成到我的项目中,我就会收到一个错误: Exception in thread "main" java.
我正在尝试测试这个示例 http://jclouds.apache.org/guides/filesystem/但我收到此错误: BlobStoreContext context = ContextB
在一个java应用程序中,我启动了一组具有特定组名称的虚拟机。 现在,我希望唯一地标识该组中的每个虚拟机。识别虚拟机(属于该组机器的一部分)的代码将直接在该机器本身内运行。我使用什么参数/属性来唯一标
本文整理了Java中org.jclouds.xml.XMLParser类的一些代码示例,展示了XMLParser类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven
本文整理了Java中org.jclouds.location.Zone类的一些代码示例,展示了Zone类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是
我希望利用 RackSpace 的 CloudFiles 平台进行大型对象存储(文字文档、图像等)。按照他们的一些指南,我发现了一个有用的代码片段,看起来应该可以工作,但在我的情况下却不行。
我在尝试使用 swift 放置对象时遇到异常: org.jclouds.http.HttpResponseException: Incomplete output stream connecting
我正在尝试获取以下内容JClouds-Chef代码 (v1.7.3) 在全新的 Linux VM 上引导 Chef 客户端,然后执行运行列表以使用应用程序堆栈实际配置该 VM (典型_app): pu
我正在使用优秀的JClouds-Chef用于使用 Chef 引导和配置虚拟机的库。 我需要考虑在虚拟机上执行 JClouds-Chef 之后出现问题的用例,这允许我基本上回滚并卸载它。这里的目标是,如
我使用了来自 JClouds (http://www.jclouds.org/documentation/quickstart/rackspace/) 的 Rackspace 示例代码,如果我使用我的
本文整理了Java中org.jclouds.concurrent.config.WithSubmissionTrace类的一些代码示例,展示了WithSubmissionTrace类的具体用法。这些代
本文整理了Java中org.jclouds.googlecomputeengine.features.ZoneApi类的一些代码示例,展示了ZoneApi类的具体用法。这些代码示例主要来源于Githu
本文整理了Java中org.jclouds.location.suppliers.all.ZoneToRegionToProviderOrJustProvider类的一些代码示例,展示了ZoneToR
本文整理了Java中org.jclouds.cloudstack.domain.Zone类的一些代码示例,展示了Zone类的具体用法。这些代码示例主要来源于Github/Stackoverflow/M
本文整理了Java中org.jclouds.byon.config.YamlNodeStoreModule类的一些代码示例,展示了YamlNodeStoreModule类的具体用法。这些代码示例主要来
本文整理了Java中org.jclouds.byon.domain.YamlNode类的一些代码示例,展示了YamlNode类的具体用法。这些代码示例主要来源于Github/Stackoverflow
本文整理了Java中org.jclouds.location.functions.ZoneToEndpoint类的一些代码示例,展示了ZoneToEndpoint类的具体用法。这些代码示例主要来源于G
本文整理了Java中org.jclouds.cloudstack.features.ZoneClient类的一些代码示例,展示了ZoneClient类的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中org.jclouds.cloudstack.predicates.ZonePredicates类的一些代码示例,展示了ZonePredicates类的具体用法。这些代码示例主要来
本文整理了Java中org.jclouds.googlecomputeengine.domain.Zone类的一些代码示例,展示了Zone类的具体用法。这些代码示例主要来源于Github/Stacko
我是一名优秀的程序员,十分优秀!