openstack Java批量创建实例 http调用

2023-10-31

先调用获取 X-Subject-Token 接口,再批量创建实例

 // 参数
 // os password
 String password = "123456";
 // os user
 String user = "root";
 // os 的项目id
 String projectId = "aaaaa";
 // os url
 String url = "192.168.119.1xx";
 // os imageId
 String imageId = "aaa";
 // os flavorId
 String flavorId = "aaa";
 // 批量创建数量
 int num = 3;
 
 try {
            String body = "{\"auth\":{\"identity\":{\"methods\":[\"password\"],\"password\":{\"user\":{\"name\":\"" + user  + "\",\"domain\":{\"name\":\"default\"},\"password\":\"" + password  + "\"}}},\"scope\":{\"project\":{\"id\":\"" + projectId + "\"}}}}";
            JSONObject objectbody = JSON.parseObject(body);
            body = objectbody.toJSONString();
            log.info("获取X-Subject-Token");
            request.setAttribute("URL", url + ":5000/auth/tokens");
            // 自定义 post 发送 http, 获取http header中的 X-Subject-Token
            HashMap post = osClientService.post(request, body);
            Headers headers = (Headers) post.get("headers");
            String token = headers.get("X-Subject-Token");
           
          	// 自定义 批量创建 参数
            // 定义账号密码  批量创建所有实例密码一致
            instancePassword = "123456";
            String pass = "#cloud-config\nchpasswd:\n   list: |\n       root:" + instancePassword + "\n   expire: false\nssh_pwauth: true";
            String userData = new sun.misc.BASE64Encoder().encode(pass.getBytes()).replace("\r\n", "");
            // 定义实例名称 创建单个实例名称不变 多个实例名称后面跟实例序号
            String instanceName = "instance-Test";
            
            body = "{\"server\":{\"name\":\"" + instanceName + "\",\"imageRef\":\"" + imageId + "\",\"flavorRef\":\"" + flavorId + "\",\"metadata\":{\"My Server Name\":\"Apache1\"},\"user_data\":\"" + userData + "\",\"max_count\":\"" + num + "\"}}";
            JSONObject object = JSON.parseObject(body);
            body = object.toJSONString();
            request.setAttribute("URL", url + ":8774/v2/servers");
            request.setAttribute("X-Auth-Token", token);
            // 自定义 post 发送 http  获取http responseBody
            HashMap creatVMPost = osClientService.post(request, body);
            Object responseBody = creatVMPost.get("responseBody");
            ArrayList<String> instanceNames = new ArrayList<>();
           
        } catch (Exception e) {
            log.error("创建vm失败:" + e);
            result.setErrorMsg("创建vm失败" + e);
            result.setErrorCode("-1");
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openstack Java批量创建实例 http调用 的相关文章

  • Java EE 6 和单例

    谁能解释一下在 Java EE 6 应用程序中实现 Singleton 的完整过程 我假设我不应该以声明静态变量的典型方式创建单例 而应该使用 Singleton注解 我必须这样做吗 难道只是声明一下的情况 Singleton就是这样 我还
  • Grails 项目 - Servlet 调用 - ClassNotFoundException:javax.servlet.AsyncContext

    我在用 IntelliJ IDEA 终极版 12 4 grails 2 2 0 BuildConfig groovy 文件中的 grails servlet version 2 5 并实现了简单的 servlet post 请求 使用 RE
  • Glassfish 4 - JDBC 领域

    Glassfish 4 中的密码加密算法和摘要算法有什么区别 因为Password加密算法不能为空 所以我使用了MD5 Encoding使用了Hex 摘要算法为空 因此默认为 SHA 256 但是 如果我使用 JAAS 制作一个简单的登录应
  • AMQP Spring 集成错误处理

    我的集成流程如下所示 Bean public IntegrationFlow auditFlow Qualifier eventLoggingConnectionFactory ConnectionFactory connectionFac
  • 有没有办法让Maven自动下载快照版本?

    所以我有一个项目依赖于另一个项目的快照版本 依赖关系是
  • Android:TelephonyManager 类

    我不明白为什么 API 文档中这么写TelephonyManager类是public 但是当我尝试创建一个实例时 它说它不是公共类 并且无法从包中访问 我看到它也说使用Context getSystemService Context TEL
  • Java 表达式树 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有相当于 net的 LINQ 下的表达式树JVM 我想实现一些类似 LINQ 的代码结构Scala
  • JTree ConvertValueToText 返回在更改时被截断

    我有一个自定义树实现convertValueToText 此实现取决于某些全局状态 如果返回的字符串比先前返回的字符串更长 实际上我认为更宽 因为以像素为单位触发它 则文本将被截断并用 填充 当重绘是由 取消 选择元素或某个元素引起时 情况
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • 如何在 Java 中使用 HTML 解析器和 Apache Tika 来提取所有 HTML 标签?

    我下载了 tika core 和 tika parser 库 但找不到将 HTML 文档解析为字符串的示例代码 我必须删除网页源的所有 html 标签 我能做些什么 如何使用 Apache Tika 进行编码 您想要 html 文件的纯文本
  • 在 java 8 下使用泛型出现类型错误,但在 java 7 下则不然

    我有一段代码可以在 java 7 下编译良好 但不能在 java 8 下编译 这是一个独立的重现示例 我已经采用了显示此问题的真实代码并删除了所有实现 import java util Iterator class ASTNode
  • Java ArrayList 和 HashMap 动态

    有人可以提供一个创建Java的例子吗ArrayList and HashMap在飞行中 所以而不是做一个add or put 实际上在类实例化时为数组 哈希提供种子数据 举个例子 类似于 PHP 的例子 array array 3 1 2
  • Log4j 2.0 中发现 ClassNotFoundException

    我已经设置了 log4j12 api beta2 jar 的构建路径 但它给出了 以下错误请帮我解决这个问题我的代码如下 java 文件 package com sst log4j class Product private int pro
  • 在 Apache Servicemix 4 中的 OSGi 包之间共享配置文件?

    有人能够在 SMX4 中的两个或多个捆绑包之间成功共享配置吗 我正在寻找的是这样的 有一个文件 SMX HOME etc myconfiguration cfg 使此配置 可用 以便使用 Spring dm 通过 OSGi 配置管理将其注入
  • Java DNSLookup MX 记录列表。类似于 MXToolBox

    我正在构建一个程序来列出域的所有 MX 记录 起初似乎工作正常 但与在线工具进行比较后http mxtoolbox com http mxtoolbox com 有些域程序无法获取 MX 记录 而 MXToolbox 可以 我不确定原因是什
  • “强制更新快照/版本” - 这是什么意思

    在 Maven 项目中 选择 更新项目 时 有一个名为 强制更新快照 版本 的选项 它有什么作用 强制更新快照 版本 就像运行以下命令 mvn U install U 也可以用作 update snapshot 看here http boo
  • Web 服务客户端的 AXIS 与 JAX-WS

    我决定用Java 实现Web 服务客户端 我已经在 Eclipse 中生成了 Axis 客户端 并使用 wsimport 生成了 JAS WS 客户端 两种解决方案都有效 现在我必须选择一种来继续 在选择其中之一之前我应该 考虑什么 JAX
  • 对于双核手机,availableProcessors() 返回 1

    我最近购买了一部 Moto Atrix 2 手机 当我尝试查看手机中的处理器规格时 Runtime getRuntime availableProcessors 返回 1 proc cpuinfo 也仅包含有关处理器 0 的信息 出于好奇
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • Android - 从渲染线程内结束活动

    下午好 我不熟悉 android 中的活动生命周期 并且一直在尽可能地阅读 但我不知道如何以良好的方式解决以下问题 我有一个使用 GLSurfaceView 的活动来在屏幕上绘制各种内容 在这个 GLSurfaceView 的渲染线程中 我

随机推荐

  • 【深入理解C++】类型转换

    文章目录 1 隐式类型转换 2 显式类型转换 强制类型转换 2 1 C语言 2 2 C 语言 2 2 1 static cast 2 2 1 1 可用于 2 2 1 2 不可用于 2 2 2 dynamic cast 2 2 3 const
  • tomcat启动报错java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException?

    我用的是tomcat7 0版本 JDK1 7 在首次使用springMVC做练习的时候报错错误如下 java util concurrent ExecutionException org apache catalina LifecycleE
  • Elasticsearch允许远程链接

    在本地启动Elasticsearch后 发现只能用localhost和127 0 0 1访问 换成电脑的ip地址 显示拒绝访问 需要修改 config elasticsearch yml下的network host 0 0 0 0改成0 0
  • 【网络云盘客户端】——上传文件的功能的实现

    目录 上传文件功能的实现 uploadtask的设计 设置上传的槽函数 uploadFileAction接口 uploadFile接口 定时上传文件 进度条的设计 上传文件功能的实现 上传文件功能实现 1 双击 上传文件 的 QListWi
  • DHCP笔记

    目录 DHCP动态主机配置协议 UDP67 68端口 DHCP获取IP地址 客户端首次获取IP地址 客户端再次获取IP地址 租期 续租 DHCP的工作报文 DHCP的配置 案例 DHCP动态主机配置协议 UDP67 68端口 DHCP是应用
  • 关闭 135 139 445 转

    135端口主要用于使用RPC Remote Procedure Call 远程过程调用 协议并提供DCOM 分布式组件对象模型 服务 端口说明 135端口主要用于使用RPC Remote Procedure Call 远程过程调用 协议并提
  • Unity Shader:Waveform波形(2)-基本波形:正弦,三角,锯齿,直角以及其变种的实现方式

    概述 在Shader中 波形可以作为一种模拟动态的手段 例如颜色的波动 形状的波动 可以基于此创作出各种效果 下文介绍几种基本波形以及变种的Shader实现代码 并配以函数图像和简单动画效果图 在效果图中 Shader代码计算出y值 在顶点
  • es--基础--10--es服务API查询

    es 基础 10 es服务API查询 1 介绍 参考资料 https www knowledgedict com tutorial elasticsearch query html 1 1 查询语句分类 1 1 1 全文查询 match q
  • hive函数02

    hive函数02 窗口函数 窗口函数 Window functions 也叫做开窗函数 OLAP函数 其最大特点是 输入值是从SELECT语句的结果集中的一行或多行的 窗口 中获取的 窗口函数可以简单地解释为类似于聚合函数的计算函数 但是通
  • 面板数据固定效应与霍斯曼检验stata代码

    xtset id year 定义面板数据 xtreg lnpgdp lng lnm fe 带固定效应的面板数据回归 默认固定id即个体的固定效应 xtreg lnpgdp lng lnm i year fe 个体效应和时间效应的固定效应 x
  • Java 集合系列02之 Collection架构(JDK1.6.0_45)

    首先 我们对Collection进行说明 下面先看看Collection的一些框架类的关系图 Collection是一个接口 它主要的两个分支是 List 和 Set List和Set都是接口 它们继承于Collection List是有序
  • SQL使用视图

    视图 SELECT cust name cust contact FROM ProductCustomers 视图 包含一个查询 是虚拟的表 WHERE prod id RGAN01 使用视图的原因 1 重用SQL语句 2 简化复杂的SQL
  • 【Jdbc】java连接mysql数据库的两种不同连接方式

    写在前面的话 在之前刚开始学数据库的时候 一直用Navicat这个数据库可视化管理工具来写sql navicat很棒 但是一般我学习和写项目的时候用的更多应该是idea对吧 然后我就想着学习了一些jdbc的知识 下面是我在之前学习过程中我的
  • 乐高机器人java程序代码_用JAVA编写一个乐高机器人躲避障碍物运动到目标点的程序....

    写出一个可以控制机器人的小程序 使机器人从一边到一个相对面 并至少跨越一个障碍物 规则如下 1 障碍物必须设置在机器人行走的路线上 2 空间的基本配置如插图3 不能用轨道之类的东西 写出一个可以控制机器人的小程序 使机器人从一边到一个相对面
  • 力扣算法之 螺旋矩阵 附python代码(超超级详细 )

    1 题目描述 给你一个 m 行 n 列的矩阵 matrix 请按照 顺时针螺旋顺序 返回矩阵中的所有元素 2 运行示例 输入 matrix 1 2 3 4 5 6 7 8 9 输出 1 2 3 6 9 8 7 4 5 3 解题思路 题意要求
  • 大数据之Hbase:Hbase工作机制

    目录 1 hbase工作机制示意图 2 hbase工作机制详细解析 1 hbase工作机制示意图 2 hbase工作机制详细解析 habse的整体工作机制是接受客户端发来的请求命令 从hdfs中读取表文件信息返回给客户端 每个hbase服务
  • Android 带你从源码的角度解析Scroller的滚动实现原理

    转帖请注明本文出自xiaanming的博客 http blog csdn net xiaanming article details 17483273 请尊重他人的辛勤劳动成果 谢谢 今天给大家讲解的是Scroller类的滚动实现原理 可能
  • Servlet开发之实现Servlet接口

    安装好Tomcat后 在tomcat gt lib下面的 这个servlet apt jar jar包需要导入到项目中 第一步 创建java文件并实现Servlet接口 public class Hello implements Servl
  • thinkphp6.0入门笔记(八)——加速页面刷新

    thinphp6 0加速页面刷新 参考文献 我们在使用thinkPHP6 0编程时 发现页面的刷新不太流畅 每次修改了页面之后 总要等个十几秒才能够完成刷新后的内容 开始代码不太会写 觉得倒也没啥 现在随着逐渐的积累 感觉学习的阻力少了很多
  • openstack Java批量创建实例 http调用

    先调用获取 X Subject Token 接口 再批量创建实例 参数 os password String password 123456 os user String user root os 的项目id String projectI