华为云用户手册

  • 行人(Pedestrian) 通过行人名: person的方式来为行人命名。通过keep(it.name == 指定行人名称)的方式来指定行人类型。通过keep(it. model == 指定行人特征)的方式来指定行人的性别、年龄特征。行人的name和model同样只能使用仿真器A自带的类型。 样例 Dude: person with: keep(it.name == "Christian") keep(it.model == "male_adult")
  • 车辆和控制器(Vehicle and controller) 通过车辆名: vehicle的方式来为车辆命名。通过keep(it.name == 指定车型名称)的方式来指定车辆类型。通过keep(it.initial_bm == 指定controller名称)的方式来指定controller类型,目前均只能支持仿真器A或仿真器B内置的车辆和controller类型。生成文件会自动适配车辆信息。 name,initial_bm等车辆属性需要在仿真器的catalog列表中定义,不同仿真器的预定义的catalog内容有所不同,需要在撰写场景文件时确认使用的车型、controller名称在仿真器catalog中已经存在。 name为必选项,initial_bm非必选项。 主车必须命名为Ego,否则仿真器A/仿真器B将无法识别。 例1(仿真器A):主车,指定initial_bm Ego_name: string = "Audi_A3_2009_black" Ego_controller: string = "DefaultDriver" Ego: vehicle with: keep(it.name == Ego_name) keep(it.initial_bm == Ego_controller) 例2(仿真器A):非主车,不指定initial_bm cut_in_vehicle: vehicle with: keep(it.name == "Audi_A3_2009_red") 例3(仿真器B):主车,指定initial_bm cut_in_vehicle: vehicle with: keep(it.name == "Saimo") keep(it.initial_bm == "默认驾驶员") 例4(仿真器B):非主车,不指定initial_bm cut_in_vehicle: vehicle with: keep(it.name == "Saimo")
  • pose_3d 定义:三维空间的复合位置,包含位置点(odr_point或position_3d或road_point)和方向(orientation_3d)两个参数 用途:设置实体的初始位置(assign_init_speed动作)、目标位置(acquire_position动作) 参数:参数如下表 表6 pose_3d参数 Parameter Type Mandatory Description xyz_point xyz_point no a pose in space specified in Cartesian (XYZ) coordinates odr_point odr_point no a point expressed in ASAM OpenDRIVE coordinates road_point road_point no a point on route network specified in S-T coordinates orientation orientation_3d no three-dimensional orientation xyz_point、odr_point和road_point必须设置且仅设置一个,用以提供位置信息。 orientation非必选项,当不设置orientation时,对应roll、pitch、yaw均为0时的方向。 使用xyz_point、设置orientation my_xyz: xyz_point = map.create_xyz_point(x: 150.0m, y: 200.0m ,z: 0.0m) m_orientation: orientation_3d with: keep(it.roll == 0.0rad) keep(it.pitch == 0.0rad) keep(it.yaw == 1.57rad) my_pose: pose_3d with: keep(it.xyz_point == my_xyz) keep(it.orientation == m_orientation) 使用odr_point、不设置orientation my_odr: odr_point = map.create_odr_point(road_id: '1',lane_id:'-2',s: 3.0m, t: 0.0m) my_pose: pose_3d with: keep(it.odr_point == my_odr) 使用road_point、不设置orientation my_road: road_point with keep(it.road_id == '1') keep(it.s == 5.0m) keep(it.t == 0.0m) my_pose: pose_3d with: keep(it.road_point == my_road)
  • orientation_3d 定义:由Tait–Bryan角度的三个参数roll(横滚角,围绕x轴的角度)、pitch(俯仰角,围绕y轴的角度)和yaw(偏航角,围绕z轴的角度)定义的三维角度。 用途:设置实体的朝向角度、用于构成pose_3d。 参数:参数如下表 表5 orientation_3d参数 Parameter Type Mandatory Description roll angle yes rotation angle around the x-axis pitch angle yes rotation angle around the y-axis yaw angle yes rotation angle around the z-axis 根据ISO 8855的定义,角度旋转的顺序是:首先进行yaw(围绕z轴)、接着pitch(围绕新y轴),最后roll(围绕新x轴)。 当实体的朝向与road0的方向相同时,无需设置orientation_3d。 angle的单位一般为rad(弧度)而非degree(角度),rad = degree*pi/180,1rad约等于57.3度(详见scalar units中的angle units一节)。 与road 0的方向相反(相差180°) m_orientation: orientation_3d with: keep(it.roll == 0.0rad) keep(it.pitch == 0.0rad) keep(it.yaw == 3.14rad)
  • road_point 定义:路网s-t坐标系中的特定位置点(point)。 用途:设置实体位置,用于构成pose_3d。 参数:参数如下表 表3 road_point参数 Parameter Type Mandatory Description road_id string yes identifier for the road in which this point is located s length yes Coordinate along the s-axis of the corresponding road t length yes Coordinate along the t-axis of the corresponding road keep创建 my_road: road_point with keep(it.road_id == '1') keep(it.s == 5.0m) keep(it.t == 0.0m) create创建 my_point: road_point = map.create_road_point(road_id: '1', s: 5.0m, t: 0.0m)
  • odr_point 定义:ASAM OpenDRIVE坐标系中的位置点(point)。 用途:设置实体位置,用于构成pose_3d。 参数:参数如下表 表4 odr_point参数 Parameter Type Mandatory Description road_id string yes ASAM OpenDRIVE identifier for the road lane_id string yes ASAM OpenDRIVE identifier for the lane s length yes Coordinate along the ASAM OpenDRIVE s-axis t length yes Coordinate along the ASAM OpenDRIVE t-axis, the t-coordinate is measured from the lane centerline keep创建 my_odr: odr_point with: keep(it.road_id == '1') keep(it.lane_id == '-2') keep(it.s == 3.0m) keep(it.t == 0.0m) create创建 my_odr: odr_point = map.create_odr_point(road_id: '1',lane_id:'-2',s: 3.0m, t: 0.0m)
  • xyz_point 定义:笛卡尔(XYZ)坐标系中的特定位置点(point)。 用途:设置实体位置,用于构成pose_3d。 参数:参数如下表 表2 xyz_point参数 Parameter Type Mandatory Description position position_3d yes Position in Cartesian (XYZ) coordinates keep创建 my_pos: position_3d with: keep(it.x == 150.0m) keep(it.y == 200.0m) keep(it.z == 0.0m) my_xyz: xyz_point with: keep(it.position == my_pos) create创建 my_xyz: xyz_point = map.create_xyz_point(x: 150.0m, y: 200.0m ,z: 0.0m)
  • 场景识别类别列表 表1 场景识别类别 类别 场景 描述 时间 TIME 白天DAY - 夜晚NIGHT - 黎明/傍晚DAWN/EVENING - 天气 WEATHER 晴天SUNNY - 雾天FOGGY - 雨天RAINY - 雪天SNOWY - 多云CLOUDY - 阴天OVERCAST - 地点 PLACE 城市道路CITY - 加油站GAS_STATION - 高速公路HIGHWAY - 停车场PARKING - 住宅区UPTOWN - 隧道TUNNEL - 物体 OBJE CTS 小型车SMALL_CAR 为个人使用而设计的小型车辆,如轿车,小型货车,suv和吉普车 卡车TRUCK 主要用于运输货物的车辆,包括皮卡、卡车和半挂车。 公交车BUS 任意类型的公共汽车。 工程车ENGINEERING_VEHICLE 用于施工的车辆,如挖掘机、推土机。 摩托车MOTORCYCLE 汽油或电力驱动的两轮车辆,包括所有摩托车、小型摩托车,踏板车,轻型三轮车。 自行车BICYCLE 以较低速度在路面、人行道或自行车道上行驶的人力驱动的两轮车辆。 行人PEDESTRIAN 道路上自由行动的所有人员。 交通灯TRAFFIC_LIGHT 交通灯,即红绿灯,标注的一个实例仅包含一个三联装的红绿灯,无论横向或纵向。 拖车TRAILER 拖车,被拖拽的车辆或集装箱。 路障BARRICADE 临时放置在现场的任何金属、混凝土等路障,以重新引导车辆或行人通行。
  • 执行顺序(Execution sequence) OSC2.0场景剧本StoryBoard通过执行顺序Execution Sequence和触发器Trigger来支持用户设计各种场景。StoryBoard中有parallel和serial两种执行指令,最外层执行指令之前需要加上do来使场景剧本生效。其中: parallel:同步执行下方代码块内的动作action。 serial:依次执行下方代码块内的动作act。 例如下方样例中,do parallel:下的assign_init_speed,assign_init_position和wait elapsed(10s) 是同步执行的。而serial:下的lead_vehicle.change_speed在Ego.activate_controller完成之后执行。 由于初始动作InitAction内的action同步执行,且InitAction与story之间不涉及顺序执行,建议场景最外层统一使用parallel。 样例 m_profile: dynamics_shape = linear do parallel: # InitAction Ego.assign_init_speed(15mps) Ego.assign_init_position(position: Ego_InitPosition) # Story serial: # act1 Ego.activate_controller(true, true) lead_vehicle.change_speed(target: 20mps, rate_profile: m_profile, rate_peak: 0.3mpss) serial: # act2 wait elapsed(10s) lead_vehicle.activate_controller(true, true)
  • 动作(lane_offset) 动作主体:车辆vehicle 结束时间:当动作主体actor到达目标偏移offset处时,动作结束。 是否支持modifier:否 参数:参数如下表,支持位置参数和关键字参数。参数target非必选项,不设置target时采用绝对偏移,设置target时采用相对偏移。 表7 lane_offset参数 Parameter Type Mandatory Description offset length yes Signed number in meters the vehicle should respect as an offset from the center of the current lane rate_peak speed yes Target value for the peak lateral velocity that must be achieved during the action dynamics_shape dynamics_shape yes Geometrical shape of the LaneOffsetAction's dynamics target entity no Reference entity offset值不能超出当前所在lane的宽度范围。 绝对偏移 m_shape: dynamics_shape = step Ego.lane_offset(0.8m, 0.5mps, m_shape) 相对偏移 m_shape: dynamics_shape = linear side_vehicle.lane_offset(offset:1.0m, rate_peak: 1.5mps, dynamics_shape:m_shape, target: Ego)
  • 动作(acquire_position) 动作主体:车辆vehicle或行人pedestrian。 结束时间:当动作主体actor获取目标位置position时,动作结束。 是否支持modifier:否 参数表: 参数如下表,pose_3d是point和orientation的组合结构, point可以使用xyz_point或odr_point或road_point中的任意一个,orientation非必选项。 表8 acquire_position参数 Parameter Type Mandatory Description target pose_3d yes target position acquire_position与acquire_position_init的使用方法相同,但由于不是初始动作,可以设置触发条件。 仿真器A对于acquire_position_init的支持程度更好,如无需设置触发条件,建议使用acquire_position_init。 仿真器B尚未支持acquire_position动作。 代码样例见初始动作(acquire_position_init)。
  • 动作(activate_controller) 动作主体:车辆vehicle 结束时间:激活或停用控制器controller后,动作结束。 是否支持modifier:否 参数:参数如下表,支持位置参数和关键字参数。 表6 activate_controller参数 Parameter Type Mandatory Description lateral bool yes In lateral domain: Activate or deactivate controller defined (e.g. automated, autonomous) behavior longitudinal bool yes In longitudinal domain: Activate or deactivate autonomous behavior 代码样例: Ego.activate_controller(lateral:true, longitudinal:true)
  • 动作(change_speed) 动作主体:车辆vehicle或行人pedestrian。 结束时间:当动作主体actor达到目标速度target ,动作结束。 是否支持modifier:否 参数:参数如下表,支持位置参数和关键字参数。 表4 change_speed参数 Parameter Type Mandatory Description reference entity no Default=it.actor. Reference to the entity that is used to determine the target speed. If this argument is omitted, the actor itself is used as reference target speed yes Target value for the speed at the end of the action rate_profile dynamics_shape yes Assign a shape for the change of the speed variable. This profile affects the acceleration during action execution rate_peak acceleration yes Target value for the peak acceleration that must be achieved during the action 目标速度不能超出所在道路的限速值。 当rate_profile为step时,瞬间达到目标速度,不会受到rate_peak值的影响。 样例 m_profile: dynamics_shape = sinusoidal Ego.change_speed(reference: lead_vehicle, target: -5.0mps, rate_profile: m_profile, rate_peak: 2mpss)
  • 动作(change_lane) 动作主体:车辆vehicle 结束时间:当动作主体actor位于目标车道lane中、目标偏移offset处时,动作结束。 是否支持modifier:否 参数:参数如下表,支持关键字参数。rate_peak和rate_profile是必选项,用于设置osc1中的dynamics、target和reference必须设置且只设置其中之一,前者用于指定绝对车道,后者用于指定相对车道。 表5 change_lane参数 Parameter Type Mandatory Description number_of_lanes uint no The target lane is "num_of_lanes" to the side of the reference entity. Use in conjunction with "side" side lane_change_side no Select on which side of the reference entity reference entity no Default=it.actor. Reference to the entity that is used to determine the target lane. If this argument is omitted, the actor itself is used as reference offset length no Default=0.0. Target offset from center of the target lane that the actor follows at the end of the action rate_profile dynamics_shape yes Assign a shape for the change of the lateral position variable (t-axis). This profile affects the lateral velocity during action execution rate_peak speed yes Target value for the peak lateral velocity that must be achieved during the action target lane_id(uint) no The actor starts and finishes the action in the target lane 目标lane必须在地图上。 中心线左侧的lane_id为正,如'1','2'。右侧的lane_id为负,如'-1','-3'。绝对值越大,距离中心线越远。 offset值不能超出当前所在lane的宽度范围。 使用相对位置时,参考对象reference必须是车辆,否则仿真器A无法支持。 rate_profile只能选择linear或step。 绝对车道1 my_lane: lane with: keep(it.lane_id == '1') m_profile: dynamics_shape = linear side_vehicle.change_lane(target: my_lane, rate_profile: m_profile, rate_peak: 0.3mps) 绝对车道2 my_lane: lane with: keep(it.lane_id == '-1') m_profile: dynamics_shape = linear side_vehicle.change_lane(target: my_lane, offset: -0.2m, rate_profile: m_profile, rate_peak: 0.4mps) 相对车道1 m_profile: dynamics_shape = step m_side: lane_change_side = left m_profile: dynamics_shape = step Ego.change_lane(number_of_lanes: 2, side: m_side, reference: side_vehicle, offset: 0.8m, rate_profile: m_profile, rate_peak: 0.3mps) 相对车道2 m_profile: dynamics_shape = step m_side: lane_change_side = same m_profile: dynamics_shape = step Ego.change_lane(number_of_lanes: 1, reference: side_vehicle, side:m_side, rate_profile: m_profile, rate_peak: 0.3mps)
  • 初始动作(assign_init_position) 动作主体:车辆vehicle或行人pedestrian。 结束时间:当动作主体actor到达指定的位置坐标时,动作结束。 是否支持modifier:是 参数:参数如下表 表2 assign_init_position参数 Parameter Type Mandatory Description position pose_3d no Desired position assigned by the user assign_init_position支持设置绝对位置和相对位置,设置相对位置时使用修饰器(position)和修饰器(lane)来给出相对值。 当初始位置需要车辆转换朝向时,通过设置pose_3d的orientation来设定朝向,以与所在车道朝向一致,例如车辆所在车道和road0呈90°夹角时,设置orientation的yaw为1.57rad,否则车辆启动后会有转向行为,影响场景的正常执行。 设置初始位置时所采用的地图元素必须是对应的地图中有的元素,比如设置绝对位置create_odr_point('0', '-4', 5.0m, 0.0m)时,地图上必须有id为'0'的road,该road上必须有lane_id为 '-4'的lane,该lane至少有5.0m以上的长度。如果设置的初始位置找不到地图中的对应元素,将泛化出无效的场景。 绝对位置 m_odr: odr_point = map.create_odr_point('0', '-4', 5.0m, 0.0m) m_orientation: orientation_3d with: keep(it.roll == 0.0rad) keep(it.pitch == 0.0rad) keep(it.yaw == 1.57rad) init_position: pose_3d with: keep(it.odr_point == m_odr) keep(it.orientation == m_orientation) Ego.assign_init_position(position: init_position) 相对位置 cut_in_vehicle.assign_init_position() with: lane(lane: raletive_lane_id, side_of: Ego, side: left) position(distance: 85.0m, behind: Ego)
  • 初始动作(acquire_position_init) 动作主体:车辆vehicle或行人pedestrian。 结束时间:当动作主体actor获取目标位置position时,动作结束。 是否支持modifier:否 参数表: 参数如下表,pose_3d是point和orientation的组合结构,point可以使用xyz_point或odr_point或road_point中的任意一个,orientation非必选项。 表3 acquire_position_init参数 Parameter Type Mandatory Description target pose_3d yes target position 目标位置必须在地图设定的道路上,且是可达的。 xyz_point,有方向要求 m_x: length = 0.0m m_xyz: xyz_point = map.create_xyz_point(x: m_x, y: 10.0m ,z: 0.0m) m_heading: angle = 1.57rad m_orientation: orientation_3d with: keep(it.roll == 0.0rad) keep(it.pitch == 0.0rad) keep(it.yaw == m_heading) m_position: pose_3d with: keep(it.xyz_point == m_xyz) keep(it.orientation == m_orientation) Ego.acquire_position_init(target: m_position) odr_point,无方向要求 m_odr: odr_point = map.create_odr_point(road_id: '0', lane_id: '-4', s: 5.0m, t: 0.0m) m_position: pose_3d with: keep(it.odr_point == m_odr) Ego.acquire_position_init(target: m_position) road_point,无方向要求 m_road: road_point = map.create_road_point(road_id: '0', s: 5.0m, t: 0.0m) m_position: pose_3d with: keep(it.road_point == m_road) Ego.acquire_position_init(target: m_position)
  • CCE集群 Octopus平台依赖算子镜像内的/bin/bash、stdbuf、tee软件,请确保基础镜像内包含上述软件且能通过PATH找到。 一般情况下,训练与评测定义为同一个引擎,主要包括算法或评测脚本运行所需要的基本依赖环境。用户可使用命令行模式或Dockerfile模式进行构建。以训练、评测镜像为例,一般的镜像制作Dockerfile示例如下(xxx替换为实际路径): # 载入基础镜像,训练或评测引擎一般需包含cuda/cudnn等算法基础环境。用户可手动制作或拉取官方镜像 FROM xxx/cuda:11.0.3-devel-ubuntu18.04 # 设置工作目录【可选】默认为ROOT,用户可修改USER及PATH WORKDIR /root/workspace # 安装用户APT环境。如果需要修改/etc/apt/sources.list可替换 COPY /path/to/sources.list /etc/apt/sources.list RUN apt-get install vim # 安装用户算法环境。如果需要修改~/.pip/pip.conf可替换。用户也可安装miniconda进行包管理 COPY /path/to/pip.conf /root/.pip/pip.conf COPY /path/to/requirements.txt /root RUN pip install –r /root/requirements.txt # 设置环境变量【可选】 ENV PYTHONUNBUFFERED 1 编译镜像类似上述训练、评测镜像制作方式,但一般不包含cuda/cudnn库,需替换为用户的编译环境。 对于Dockerfile的统一构建方式如下: docker build –f [DockerfileName] –t [ImageName:ImageVersion] . 镜像运行时,会向运行环境注入部分默认文件配置: 表1 环境变量说明 任务名称 文件名 环境变量 训练任务 增量模型目录 MODEL_PATH="/tmp/data/model" 训练产物目录 TMP_RESULT_PATH= "/tmp/result" 数据集目录 DATASET_PATH=" ['/tmp/data/dataset/dataset-0']" 评测任务 评测结果目录 TMP_RESULT_PATH= "/tmp/result" 模型版本文件目录 MODEL_PATH="/tmp/data/model" 数据集目录 DATASET_PATH= "/tmp/data/dataset/dataset-0" 编译任务 模型版本文件目录 MODEL_PATH="/tmp/data/model" 编译产物目录 TMP_RESULT_PATH= "/tmp/result" 预标注任务 数据集目录 OCTPS_DATASET_DIR="/tmp/…/data" 模型版本文件目录 OCTPS_MODEL_DIR="/tmp/…/model" 模型版本关联标注物文件路径 OCTPS_META_PATH="/tmp/…/meta/label_meta_infos.json" 预标注结果数据目录 TARGET_RESULT_DIR="/tmp/…/result/data" 预标注日志文件目录 TARGET_ LOG _DIR="/tmp/…/result/log" 父主题: 镜像制作(训练)
  • 操作步骤 登录MetaStudio控制台。 单击“声音制作”下方的“开始创建”,进入声音制作页面。 图1 定制声音 配置声音制作参数。 界面操作详情,如表1所示。 表1 界面操作说明 区域 说明 声音制作方式 选择声音制作方式“基础版声音制作”。 请完善声音信息 输入声音名称,示例:欢快女声。 请选择声音性别 选择声音的性别,示例:女生。 原始输入语言 选择声音的原始输入语言,示例:中文。 选择声音标签 声音的标签。请根据所选文案样例,选择相应的标签,如下所示: 营销:营销宣传风格文案 新闻:新闻播报风格文案 请制作声音 使用“语料上传”的方式,直接上传一个已录制好的长音频WAV文件,无需压缩,无需携带文案txt文件。 声音授权 单击“授权书模板”,下载授权书模板后打印。用户手写相关信息后,重新生成签署后的pdf文件,或者拍摄成jpg或png格式的图片后上传。 授权书内容,可参考授权书。 单击“提交制作”。 弹出“资源消耗提示”对话框。提示用户目前声音制作服务剩余数量,本次将消耗1个资源。 如果用户确认无误,单击“确认提交”。 声音制作任务提交成功后,界面提示“制作任务提交成功”,如图2所示。 声音制作任务提交成功后,需要等待1天左右的时间审核。任务审核通过后,启动声音制作。 图2 制作任务提交成功 用户可以单击“查看制作任务列表”,查看声音制作任务审核进展。 当状态变更为“系统审核完成”,自动启动算法训练。如果系统存在多个算法训练任务,可能会存在排队和延迟的现象,请耐心等待。 确认声音制作任务已训练完成后,在左侧导航栏中,单击“我的创作”。 选择“声音”,找到已生成的声音,将鼠标放在头像上面,展示试听图标,单击即可试听声音效果。 图3 声音
  • 制作声音模型 准备好音频文件后,就可以上传至MetaStudio控制台,进行声音训练。详细操作如下所示: 创建声音制作任务(华为模型) 查看声音 声音模型制作耗时,如下所示: 基础版:约1~3个工作日。 进阶版:约1~3个工作日。 高品质:约5个工作日。 自定义声音应用方式,如下所示: 自定义声音生成后,会自动展示在MetaStudio控制台声音列表中,可用于分身数字人视频制作、 视频直播 或智能交互等场景中。 通过MetaStudio的API调用自定义声音。
  • 操作场景 创建裸金属服务器时,您可以通过共享VPC功能,使用其他账号共享的VPC和子网,以实现网络资源的共享和统一管理,提升资源管控效率、降低运维成本。 例如,为了规范管理网络资源,某企业使用账号A作为IT管理账号,用于管理基础公共资源,包括VPC、子网等。同时,账号A将多个子网共享给其他账号共同使用。 账号A:IT管理账号,作为资源所有者,创建VPC及子网,并将多个子网分别共享给其他账号使用。 账号B:业务账号,作为资源使用者,使用账号A共享的子网2创建BMS。 账号C:业务账号,作为资源使用者,使用账号A共享的子网3创建BMS。 图1 业务规划示意图 本章节介绍通过共享VPC创建BMS的操作指导。有关VPC子网共享的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。
  • Network data(OpenStack元数据API) 查询裸金属服务器的网络信息。 URI /openstack/latest/network_data.json 方法 支持GET请求 示例 curl http://169.254.169.254/openstack/latest/network_data.json { "services": [{ "type": "dns", "address": "100.125.1.250" }, { "type": "dns", "address": "100.125.21.250" }], "networks": [{ "network_id": "67dc10ce-441f-4592-9a80-cc709f6436e7", "type": "ipv4_dhcp", "link": "tap68a9272d-71", "id": "network0" }], "links": [{ "type": "cascading", "vif_id": "68a9272d-7152-4ae7-a138-3ef53af669e7", "ethernet_mac_address": "fa:16:3e:f7:c1:47", "id": "tap68a9272d-71", "mtu": null }] }
  • User data(EC2-兼容的API) 用于查询裸金属服务器的用户数据。该值仅在创建裸金属服务器时指定,不支持修改。 URI /169.254.169.254/latest/user-data 方法 支持GET请求。 示例 curl http://169.254.169.254/latest/user-data ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
  • Security Key(OpenStack元数据API) 获取临时的AK、SK。 您如果需要在裸金属服务器获取临时的AK、SK,需要在 IAM 上对裸金属服务器进行云服务委托授权,并对相应的裸金属服务器资源进行授权委托管理。操作流程请参考IAM用户指南。 临时的AK、SK一小时后会失效。临时AK、SK更新时间早于失效时间10分钟,10分钟内新旧临时AK、SK均可用。 使用临时AK、SK时,需要在消息的header中增加'X-Security-Token':securitytoken。其中,securitytoken就是调用接口返回的值。 URI /openstack/latest/securitykey 方法 支持GET请求 示例 curl http://169.254.169.254/openstack/latest/securitykey
  • Availability Zone(EC2-兼容的API) 用于查询裸金属服务器的AZ信息。 URI /169.254.169.254/latest/meta-data/placement/availability-zone 方法 支持GET请求。 示例 curl http://169.254.169.254/latest/meta-data/placement/availability-zone az1.dc1
  • Public Keys(EC2-兼容的API) 用于查询裸金属服务器的公钥。 URI /169.254.169.254/latest/meta-data/public-keys/0/openssh-key 方法 支持GET请求。 示例 curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDI5Fw5k8Fgzajn1zJwLoV3+wMP+6CyvsSiIc/hioggSnYu/AD0Yqm8vVO0kWlun1rFbdO+QUZKyVr/OPUjQSw4SRh4qsTKf/+eFoWTjplFvd1WCBZzS/WRenxIwR00KkczHSJro763+wYcwKieb4eKRxaQoQvoFgVjLBULXAjH4eKoKTVNtMXAvPP9aMy2SLgsJNtMb9ArfziAiblQynq7UIfLnN3VclzPeiWrqtzjyOp6CPUXnL0lVPTvbLe8sUteBsJZwlL6K4i+Y0lf3ryqnmQgC21yW4Dzu+kwk8FVT2MgWkCwiZd8gQ/+uJzrJFyMfUOBIklOBfuUENIJUhAB Generated-by-Nova
  • 元数据介绍 裸金属服务器元数据包含了裸金属服务器在云平台的基本信息,例如服务器ID、主机名、网络信息等。裸金属服务器元数据支持两种风格,可以分别通过兼容OpenStack和兼容EC2的API获取,如表1所示。 表1 裸金属服务器元数据类别支持列表 元数据类型 实例元数据项 说明 OpenStack类型 /meta_data.json 查询裸金属服务器的元数据信息。 元数据的关键字段请参见表2。 /password 查询裸金属服务器的密码。 对于Windows系统,使用密钥对创建服务器初始化时,Cloudbase-init用于保存密文密码。 /user_data 查询裸金属服务器的用户数据。 用户根据需要自行指定脚本和配置文件用于服务器初始化,详细操作请参考实例自定义数据注入。 若Linux服务器使用密码方式,则保存注入密码的脚本。 /network_data.json 查询裸金属服务器的网络信息。 /securitykey 获取临时的AK、SK。 对裸金属服务器获取临时的AK、SK,需要在IAM上对裸金属服务授权,并对相应的服务器资源进行授权委托管理。 兼容EC2类型 /meta-data/hostname 查询裸金属服务器的主机名称。 请参考以下链接为裸金属服务器去掉后缀.novalocal: 裸金属服务器的主机名带后缀“novalocal” /meta-data/instance-type 查询裸金属服务器的规格名称。 /meta-data/local-ipv4 查询裸金属服务器的固定IP地址。 多网卡情况下,只显示主网卡的地址。 /meta-data/placement/availability-zone 查询裸金属服务器的AZ信息。 /meta-data/public-ipv4 查询裸金属服务器的弹性公网IP地址。 多网卡情况下,只显示主网卡的弹性公网IP地址。 /meta-data/public-keys/0/openssh-key 查询裸金属服务器的公钥。 /user-data 查询裸金属服务器的用户数据。 /meta-data/security-groups 查询裸金属服务器所使用的安全组名称。 表2 metadata关键字段 参数 参数类型 描述 uuid String 裸金属服务器的ID。 availability_zone String 裸金属服务器所在可用区。 meta Dict 元数据信息,包括镜像名称、镜像ID、VPC ID等信息。 hostname String 裸金属服务器主机名。 请参考以下链接为裸金属服务器去掉后缀.novalocal: 裸金属服务器的主机名带后缀“novalocal” vpc_id String 裸金属服务器所属的虚拟私有云ID。 对于支持的元数据类型,本节详细介绍了其URI和使用方法。
  • User data(OpenStack元数据API) 用于查询裸金属服务器的用户数据。该值仅在创建裸金属服务器时指定,不支持修改。 URI /169.254.169.254/openstack/latest/user_data 方法 支持GET请求。 示例 curl http://169.254.169.254/openstack/latest/user_data ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA== 如果创建裸金属服务器时未注入用户数据,此时,该接口的查询结果是404,如图1所示。 图1 404 Not Found
  • Metadata(OpenStack元数据API) 用于查询裸金属服务器的元数据。 URI /169.254.169.254/openstack/latest/meta_data.json 方法 支持GET请求。 示例: 以使用cURL工具为例,介绍查询裸金属服务器元数据的方法。 curl http://169.254.169.254/openstack/latest/meta_data.json { "random_seed": "rEocCViRS+dNwlYdGIxJHUp+00poeUsAdBFkbPbYQTmpNwpoEb43k9z+96TyrekNKS+iLYDdRNy4kKGoNPEVBCc05Hg1TcDblAPfJwgJS1okqEtlcofUhKmL3K0fto+5KXEDU3GNuGwyZXjdVb9HQWU+E1jztAJjjqsahnU+g/tawABTVySLBKlAT8fMGax1mTGgArucn/WzDcy19DGioKPE7F8ILtSQ4Ww3VClK5VYB/h0x+4r7IVHrPmYX/bi1Yhm3Dc4rRYNaTjdOV5gUOsbO3oAeQkmKwQ/NO0N8qw5Ya4l8ZUW4tMav4mOsRySOOB35v0bvaJc6p+50DTbWNeX5A2MLiEhTP3vsPrmvk4LRF7CLz2J2TGIM14OoVBw7LARwmv9cz532zHki/c8tlhRzLmOTXh/wL36zFW10DeuReUGmxth7IGNmRMQKV6+miI78jm/KMPpgAdK3vwYF/GcelOFJD2HghMUUCeMbwYnvijLTejuBpwhJMNiHA/NvlEsxJDxqBCoss/Jfe+yCmUFyxovJ+L8oNkTzkmtCNzw3Ra0hiKchGhqK3BIeToV/kVx5DdF081xrEA+qyoM6CVyfJtEoz1zlRRyoo9bJ65Eg6JJd8dj1UCVsDqRY1pIjgzE/Mzsw6AaaCVhaMJL7u7YMVdyKzA6z65Xtvujz0Vo=", "uuid": "ca9e8b7c-f2be-4b6d-a639-f10b4d994d04", "availability_zone": "lt-test-1c", "hostname": "bms-ddd4-l00349281.novalocal", "launch_index": 0, "meta": { "metering.image_id": "3a64bd37-955e-40cd-ab9e-129db56bc05d", "metering.imagetype": "gold", "metering.resourcespeccode": "physical.s3.small", "metering.cloudServiceType": "service.type.ec2", "image_name": "CentOS 7.6 64bit", "os_bit": "64", "vpc_id": "3b6c201f-aeb3-4bce-b841-64756e66cb49", "metering.resourcetype": "1", "cascaded.instance_extrainfo": "pcibridge:2", "os_type": "Linux", "charging_mode": "0" }, "project_id": "6e8b0c94265645f39c5abbe63c4113c6", "name": "ecs-ddd4-l00349281" }
  • 关于插件卸载 如果不再继续使用一键重置密码功能,您可以根据如下指导卸载插件: Linux裸金属服务器 登录裸金属服务器。 执行以下命令,进入bin目录,删除服务cloudResetPwdAgent。 cd /CloudrResetPwdAgent/bin sudo ./cloudResetPwdAgent.script remove 执行以下命令,删除插件。 sudo rm -rf /CloudrResetPwdAgent 请检查CloudResetPwdUpdateAgent是否存在,如果存在,执行以下命令删除: sudo rm -rf /CloudResetPwdUpdateAgent Windows裸金属服务器 进入C:\CloudResetPwdAgent\bin文件夹。 双击“UninstallApp-NT.bat”。 删除C:\CloudResetPwdAgent的文件。 删除C:\CloudResetPwdUpdateAgent的文件。
  • 安装须知 请不要使用除该插件以外的其他密码重置插件。 用户自行决定是否安装“CloudResetPwdAgent”插件,使裸金属服务器具备一键式重置密码功能。 安装完成后,请勿自行卸载插件,因为可能导致管理控制台判断失误,从而无法完成密码重置。 重装/切换裸金属服务器操作系统后,一键式重置密码功能失效。如需继续使用该功能,请重新安装“CloudResetPwdAgent”插件。 裸金属服务器需绑定弹性公网IP,才能自动更新CloudResetPwdAgent,或者需要您手动下载升级包,完成安装或升级。
共100000条