有没有办法强制过期或撤销OpenStack Swift令牌?我正在寻找一些API方法来做到这一点.
Bing/Google搜索没有返回任何有用的内容.
openstack-swift cloudfiles rackspace-cloud oauth-2.0 openstack
我正在使用OpenStack的REST API来实现启动或停止服务器的编程.
API参考的链接是http://api.openstack.org/api-ref.html#ext-os-server-start-stop 这需要python中的字典如下:
dict = {
os-start:null
}
Run Code Online (Sandbox Code Playgroud)
然后我正在做一个json.dumps(dict)并向openstack的nova模块的公共URL发出请求.
当我运行此程序时,未知全局名称"null"的错误.因此,它不起作用.
我想知道在OpenStack上启动服务器的这个请求是否有效,我应该在请求JSON中使用什么作为字段"os-start"的值.
如果需要任何其他信息,请与我们联系.
先感谢您.
我已将devstack安装到干净的 Ubuntu 机器上。我可以在http://localhost/auth/login/. 但是,我不知道如何管理用户或我的初始凭据是什么。
这些信息保存在哪里?
我想在Openstack中创建实例,在ssh之前已经安装了Docker.所以我很自然地对Cloud-init技术感兴趣,因为它允许我们在第一次启动时在虚拟机上安装软件包.所以现在我正在尝试在启动时在我的实例上安装Docker,这是我传递给用户数据的代码;
#cloud-config
packages:
- docker.io
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,所以我怎样才能使它工作?
我正在尝试使用python-novaclient从openstack中的可启动卷创建实例。
我正在采取的步骤如下:
步骤1:创建一个具有100GB映像的“ Centos”卷。步骤2:使用在步骤1中创建的卷创建实例。
但是,我必须做错了某些事情,或者丢失了一些无法完成任务的信息。
这是我在python shell中的命令。
import time, getpass
from cinderclient import client
from novaclient.client import Client
project_name = 'project'
region_name = 'region'
keystone_link = 'https://keystone.net:5000/v2.0'
network_zone = "Public"
key_name = 'key_pair'
user = 'user'
pswd = getpass.getpass('Password: ')
# create a connection
cinder = client.Client('1', user, pswd, project_name, keystone_link, region_name = region_name)
# get the volume id that we will attach
print(cinder.volumes.list())
[<Volume: 1d36203e-b90d-458f-99db-8690148b9600>, <Volume: d734f5fc-87f2-41dd-887e-c586bf76d116>]
vol1 = cinder.volumes.list()[1]
vol1.id
block_device_mapping = {'device_name': vol1.id, 'mapping': '/dev/vda'}
### +++++++++++++++++++++++++++++++++++++++++++++++++++++ …Run Code Online (Sandbox Code Playgroud) 我通过devstack在运行Ubuntu 14.04 LTS的ec2实例上安装了OpenStack .当我登录仪表板时,我收到错误"错误:无法检索使用信息"当我安装它并第一次登录时,一切正常.但在我停止ec2实例并重新启动后,我遇到了这个问题.可能导致此错误的原因是什么?我使用了devstack的稳定juno版本.我的ec2实例的AMI是Ubuntu Server 14.04 LTS(HVM),SSD卷类型.重启实例可能会导致一些问题吗?
我在Ubuntu 14.04上通过devstack安装了openstack.我的计算机上有8 GB的ram,我已经创建了大约8个VM,我没有同时使用,因为我使用不同的VM.现在我无法再创建VM了.我收到一条错误消息
找不到有效主机.没有足够的主机可用.
有人可以建议我该怎么办?
我正在运行devstack,我创建了两个具有两个不同密钥对的实例.这是我的形象:
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | c1281b03b1b6375ccce5fc2913bc4bd1 |
| container_format | bare |
| created_at | 2016-02-20T16:14:11Z |
| disk_format | qcow2 |
| id | 0ef7f4d5-8e9e-40e7-bc9e-89e1442af05c |
| min_disk | 0 |
| min_ram | 0 |
| name | ubuntu |
| owner | 2509b183165d4ed58d0ccad318dd6b4d |
| protected | False |
| size | 287310336 |
| status | active |
| tags | [] |
| updated_at | 2016-02-20T16:14:33Z |
| virtual_size …Run Code Online (Sandbox Code Playgroud) 我写了一个 Ansible Playbook 来创建多个 VM。Playbook 分为两个文件。Main.yaml 和 vars.yaml。它创建了虚拟机,它似乎运行良好。我没有收到任何错误,所以我认为它已成功将创建的主机添加到库存中。我想检查创建的主机是否已添加到清单中。我如何打印/列出库存的主机?我的目标是稍后在创建的 VM 上运行脚本。谢谢。
**Main.yaml**
#########CREATING VM#########
---
- hosts: localhost
vars:
http_port: 80
max_clients: 200
vars_files:
- vars.yaml
tasks:
- name: create VM
os_server:
name: "{{ item.name }}"
state: present
image: "{{ item.image }}"
boot_from_volume: True
security_groups: ssh
flavor: "{{ item.flavor }}"
key_name: mykey
region_name: "{{ lookup('env', 'OS_REGION_NAME') }}"
nics:
- net-name: private
wait: yes
register: instances
with_items: "{{ instance_definitions }}"
############################################
- name: whait 15 seconds
pause: seconds=15
when: instances.changed
######DEBUG#################################
- …Run Code Online (Sandbox Code Playgroud) 我使用 Ansible 模块os_networks_facts获取 Openstack 网络信息。
此模块以 openstack_networks 结构返回信息:
"openstack_networks": [
{
"admin_state_up": true,
"id": "5632dc44-dbda-4752-8155-fe782e95cc29",
"mtu": 0,
"name": "public_RSC",
"port_security_enabled": true,
"router:external": true,
"shared": false,
"status": "ACTIVE",
"subnets": [
"7b07432c-f0a0-415a-8b28-7e87918cc6d4",
"a56e25cb-0710-4a64-869e-4af2d5bf9c64",
"c4ff60af-44bc-4252-ab38-fd242d51f0f2"
],
"tenant_id": "6025f8013cee46c093cb97cb36a1a86e"
},
{
"admin_state_up": true,
"id": "7812f951-4bc9-41c0-9db2-1f49b8a7ee47",
"mtu": 0,
"name": "kuby-network",
"port_security_enabled": true,
"router:external": false,
"shared": false,
"status": "ACTIVE",
"subnets": [
"6ad9ce9b-ba54-4d74-bbb6-8dfc50526eff"
],
"tenant_id": "a9cffc26ba5a4a8e883f04dc7180a91d"
}
]
Run Code Online (Sandbox Code Playgroud)
我想对“路由器:外部”属性的值进行测试。但是,该属性的名称中包含一个冒号。
当我尝试在 Ansible 中打印它时:
- hosts: localhost
connection: local
gather_facts: false
tasks:
- name: get network information …Run Code Online (Sandbox Code Playgroud) openstack ×10
devstack ×3
ansible ×2
python ×2
amazon-ec2 ×1
character ×1
cloud-init ×1
cloudfiles ×1
escaping ×1
jinja2 ×1
json ×1
key-pair ×1
novaclient ×1
oauth-2.0 ×1
ssh ×1
ubuntu-14.04 ×1
user-data ×1