VMware上openstakc pike手动安装遇到的问题

系统:ubuntu 16.04 server x64

根据官网教程(英语渣渣)

前置工作:


安装SSH

sudo apt-get install openssh-server
sudo apt-get install openssh-client(可能不用)

更换source-list

通过ssh更改一下sourse.list文件


更新下

sudo apt-get update
sudo apt-get dist-upgrade
安个vim

sudo apt-get install vim


遇到问题:

网络配置:

计算和控制结点都是两块网卡,一块NAT模式,IP用DHCP或者静态都行,另一块host-only(???不确定),IP按照官网教程设定

auto INTERFACE_NAME
iface INTERFACE_NAME inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down
Vmware 添加网卡:http://blog.sina.com.cn/s/blog_59b0e3f30100ah42.html

按照这个教程发现第二块网卡的名称 然后直接在 /etc/network/interfaces 里面添加上图配置即可


安装keystone连接数据库的时候要加sudo

sudo mysql -uroot -p

否则会

ERROR 1698 (28000): Access denied for user 'root'@'localhost'


glance安装前配置数据库



VMware上openstakc pike手动安装遇到的问题_第1张图片

摘自:openstack M版中文文档。。P版文档缺失这部分??


Networking Option 2: Self-service networks

这个模块需要科学上网



VMware上openstakc pike手动安装遇到的问题_第2张图片


实际操作文件中该属性名称为nova_metadata_host....于是我就把两个都设成了controller




第二块网卡就是host only那块,上图为网络部分第二种网络



安装好dashboard以后,直接在主机 输入控制结点IP+/horizon 就可以。。。可能会比较慢


启动一个实例

添加provider network

VMware上openstakc pike手动安装遇到的问题_第3张图片

这里面的IP需要和

VMware上openstakc pike手动安装遇到的问题_第4张图片

Ip在一个地址段,并且根据

VMware上openstakc pike手动安装遇到的问题_第5张图片

对始末IP进行配置


以上,祝大家配置愉快【手动滑稽】


下面,关于openstack api:

python有相关的库,http://www.aboutyun.com/thread-6747-1-1.html


我并没有用,感觉出了bug,不会debug


于是就用官方提供的api文档,配合requests库(好用)

不管什么操作都要先获取token

具体调用方式可以看一下:http://www.cnblogs.com/biangbiang/archive/2013/02/01/2888800.html领会一下精神

然而并不要用它的API,因为那些太旧了,pike版api还得看官方文档  https://developer.openstack.org/api-guide/quick-start/

认证操作:https://developer.openstack.org/api-ref/identity/v3/#password-authentication-with-scoped-authorization

一些简单的操作 看compute模块就行https://developer.openstack.org/api-ref/compute/

认证部分实例代码:

        data={
            "auth": {
                "identity": {
                    "methods": [
                        "password"
                    ],
                    "password": {
                        "user": {
                            "domain": {
                                "name": userDomain
                            },
                            "name": username,
                            "password": password
                        }
                    }
                },
                "scope": {
                    "project": {
                        "domain": {
                            "name": projectDomain
                        },
                        "name": projectName
                    }
                }
            }
        }
        data=json.dumps(data)#必须,否则会400错误
        headers={"Content-Type": "application/json","Accept": "application/json"}
        url="http://"+IP+":5000/v3/auth/tokens"
        re=requests.post(url=url,headers=headers,data=data)
        if re.status_code!=201:
            self.token=None
            raise Get_Info_ERROR("获取用户token失败,请检查验证信息")
        self.token=re.headers['X-Subject-Token']

后面的其它操作按照文档来即可



你可能感兴趣的:(编程日记)