调试插件
调试插件 pdk-debug 支持对 Python 安装和生命周期脚本以及插件中的拓扑文档进行调试。 它不取代或不支持调试插件中的 Java™ 代码。
准备工作
pdk-debug 插件包含在 插件开发包中。
必须先将 debug 插件导入到 Cloud Pak System 开发环境中,然后才能使用该插件。 有关导入指示信息,请参阅相关任务部分。
关于本任务
您可以将调试组件添加到您在 模式构建器 中创建的应用程序模型,以提供更多用于调试插件的功能。 您可以选择以下调试方式:
- 模拟部署
- 部署虚拟应用程序将在仓库中生成工件,但不提供资源。 您可以逗号分隔的列表的形式指定要运行的 ServiceProvisioner 类型的列表。 有关 ServiceProvisioner的信息,请参阅 插件开发包中的 Javadoc 文档。
使用此选项是编写插件和模式类型之后的第一个调试步骤。 可使用仓库浏览器来查看最终拓扑文档。 在 控制台中, 单击 。 展开 。 单击 。
部署标识位于内核服务 (KS) 控制台日志中,如下所示:[18/Aug/2011 21:19:54:447 +0000] INFO debug topology-only deployment stored topology document in https://172.16.33.10:9444/storehouse/user/deployments/d-02de78c2-6b26-4f32-80af-ba9083a481c4/topology.json - 用于手动调试的部署
- 将正常部署虚拟应用程序,但会保存所有脚本中的输入和输出数据。 您可以 SSH 到已部署的虚拟机中以查看数据。 特定脚本的输入和输出数据将保存在该脚本的运行目录中。 然后,您可以执行手动调试。 您可以更改数据和脚本,然后手动运行脚本以查看所作更改的影响。 例如,如果某个脚本有语法或逻辑错误,那么您可以更改该错误,然后测试您的修订。
您还可以选择在部署期间如何处理敏感数据。 如果您选中记录敏感数据复选框,那么将记录敏感数据。 缺省情况下,此选项处于禁用状态。
选择 脚本错误时可恢复 ,以便您可以替换和恢复处于ERROR状态的已暂挂脚本。 缺省情况下,此选项处于禁用状态。 如果启用此选项时发生错误,那么 虚拟应用程序实例 页面上将显示一条错误消息。 将暂停执行,以便您可以替换该脚本。- 如果您在 Eclipse中使用 插件开发包 (PDK) ,请通过 工作负载插件运行时 透视图连接至发生错误的虚拟机。
如果 in.json 和 out.json 文件可用,那么可在 PDK 中对其进行查看。 右键单击脚本,然后选择查看 In/Out.json。 out.json 文件是上次运行脚本时的输出。 in.json 文件是脚本的输入,其中包含拓扑文档中的输入参数。
请在本地编辑该脚本以解决问题,然后右键单击该脚本并选择 上载本地副本 以替换 虚拟应用程序实例中的脚本。 在替换该脚本之后,右键单击该脚本,然后选择从错误恢复以重新运行该脚本。 该脚本将从头开始重新运行,因此,在单击从错误恢复之前,务必完成需要执行的任何清除操作。
- 此外,您可以连接至虚拟机,然后编辑该脚本。 在虚拟机上运行 resume.py(位于 /0config/nodepkgs/common/scripts/pdk-debug/resume.py 中)以重新运行该脚本。 当您运行 resume.py 时,该脚本将从头开始重新运行,因此,在运行此脚本之前,务必完成需要执行的任何清除。 有关在虚拟机上运行脚本的更多信息,请参阅“在虚拟机上运行生命周期脚本”。
- 如果您在 Eclipse中使用 插件开发包 (PDK) ,请通过 工作负载插件运行时 透视图连接至发生错误的虚拟机。
过程
要向现有虚拟应用程序添加调试组件:
结果
下一步操作
pdk-debug 插件的设置。 完成调试后,您可以将调试组件从应用程序模型中移除。您还可以通过查看关联插件的信息来查看 模式构建器 之外的组件的属性。 单击 。 搜索要查看的插件,然后在列表中单击该插件的名称。