読者です 読者をやめる 読者になる 読者になる

NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix OpenStack service VM (OVM) の RPM。

Nutanix OpenStack Servieice VM(OVM)にインストールされている RPM を見てみました。

OVM は、CentOS 7 ベースの VM です。

[root@ovm01 ~]# cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)

Nutanix から提供されている、Acropolis OpenStack Driver の RPM がインストールされています。これが OVM 特有の RPM で、Nutanix と OpenStack との連携をシンプルにすることができます。この RPM をインストールすれば、OVM を使用しなくても物理サーバ / VM をとわず OVM と同様の機能が提供できるようです。

RPM のバージョンを見ると 1年以上前のもののように見えますが、実際ビルドされたのはわりと最近です。

[root@ovm01 ~]# rpm -qi nutanix_openstack
Name        : nutanix_openstack
Version     : 2015.1.0
Release     : 1
Architecture: noarch
Install Date: Thu 11 Feb 2016 07:31:25 AM PST
Group       : Unspecified
Size        : 1280839
License     : Nutanix
Signature   : (none)
Source RPM  : nutanix_openstack-2015.1.0-1.src.rpm
Build Date  : Thu 11 Feb 2016 07:29:59 AM PST
Build Host  : ravi-dev-ovm.dev.eng.nutanix.com
Relocations : (not relocatable)
Summary     : Acropolis drivers for Openstack Kilo.
Description :
A collection of Acropolis drivers for using OpenStack on Nutanix.

下記のファイルが含まれます。
ovmctl(/usr/bin/ovmctl)コマンドや、Acropolis むけの Nova、Neutron などの ドライバ(~/driver.py)が含まれています。他にも、manifestファイルが含まれていて Puppet を利用していることがわかります。OpenStack 自体は、この RPM には含まれません。

[root@ovm01 ~]# rpm -ql nutanix_openstack
/etc/isolinux.cfg
/etc/nutanix_openstack_config.json
/etc/puppet
/etc/puppet/hiera.yaml
/etc/puppet/modules
/etc/puppet/modules/ovm
/etc/puppet/modules/ovm/manifests
/etc/puppet/modules/ovm/manifests/ovm_allinone_connect_manifest.pp
/etc/puppet/modules/ovm/manifests/ovm_allinone_disconnect_manifest.pp
/etc/puppet/modules/ovm/manifests/ovm_connect_manifest.pp
/etc/puppet/modules/ovm/manifests/ovm_disconnect_manifest.pp
/etc/puppet/modules/ovm/manifests/ovm_glance_connect_manifest.pp
/etc/puppet/modules/ovm/manifests/ovm_glance_disconnect_manifest.pp
/etc/puppet/modules/ovm/manifests/ovm_image_cache_connect_manifest.pp
/etc/puppet/modules/ovm/manifests/ovm_image_cache_disconnect_manifest.pp
/usr/bin/ovmctl
/usr/bin/prism_vnc_proxy
/usr/lib/python2.7/site-packages/nutanix_openstack
/usr/lib/python2.7/site-packages/nutanix_openstack/__init__.py
/usr/lib/python2.7/site-packages/nutanix_openstack/__init__.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/__init__.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/api.py
/usr/lib/python2.7/site-packages/nutanix_openstack/api.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/api.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/cinder
/usr/lib/python2.7/site-packages/nutanix_openstack/cinder/__init__.py
/usr/lib/python2.7/site-packages/nutanix_openstack/cinder/__init__.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/cinder/__init__.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/cinder/driver.py
/usr/lib/python2.7/site-packages/nutanix_openstack/cinder/driver.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/cinder/driver.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/glance
/usr/lib/python2.7/site-packages/nutanix_openstack/glance/__init__.py
/usr/lib/python2.7/site-packages/nutanix_openstack/glance/__init__.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/glance/__init__.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/glance/driver.py
/usr/lib/python2.7/site-packages/nutanix_openstack/glance/driver.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/glance/driver.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/imageops.py
/usr/lib/python2.7/site-packages/nutanix_openstack/imageops.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/imageops.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/neutron
/usr/lib/python2.7/site-packages/nutanix_openstack/neutron/__init__.py
/usr/lib/python2.7/site-packages/nutanix_openstack/neutron/__init__.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/neutron/__init__.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/neutron/driver.py
/usr/lib/python2.7/site-packages/nutanix_openstack/neutron/driver.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/neutron/driver.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/nova
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/__init__.py
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/__init__.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/__init__.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/driver.py
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/driver.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/driver.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/hostops.py
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/hostops.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/hostops.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/vmops.py
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/vmops.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/vmops.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/volumeops.py
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/volumeops.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/nova/volumeops.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/session.py
/usr/lib/python2.7/site-packages/nutanix_openstack/session.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/session.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/util.py
/usr/lib/python2.7/site-packages/nutanix_openstack/util.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/util.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/__init__.py
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/__init__.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/__init__.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_file_handler.py
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_file_handler.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_file_handler.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_http_handler.py
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_http_handler.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_http_handler.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_prism_websocket_proxy.py
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_prism_websocket_proxy.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_prism_websocket_proxy.pyo
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_web_socket.py
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_web_socket.pyc
/usr/lib/python2.7/site-packages/nutanix_openstack/vnc/wsgi_web_socket.pyo
/usr/lib/systemd/system/prism-vnc-proxy.service
/usr/share/augeas
/usr/share/augeas/lenses
/usr/share/augeas/lenses/dist
/usr/share/augeas/lenses/dist/nutanix_openstack_lens.aug
/usr/share/nutanix_openstack/vnc
/usr/share/nutanix_openstack/vnc/static
/usr/share/nutanix_openstack/vnc/static/fonts
/usr/share/nutanix_openstack/vnc/static/fonts/ProximaNovaSoft-Bold-webfont.ttf
/usr/share/nutanix_openstack/vnc/static/fonts/ProximaNovaSoft-Bold-webfont.woff
/usr/share/nutanix_openstack/vnc/static/fonts/ProximaNovaSoft-Regular-webfont.ttf
/usr/share/nutanix_openstack/vnc/static/fonts/ProximaNovaSoft-Regular-webfont.woff
/usr/share/nutanix_openstack/vnc/static/fonts/ss-nutanix-regular-webfont.ttf
/usr/share/nutanix_openstack/vnc/static/fonts/ss-nutanix-regular-webfont.woff
/usr/share/nutanix_openstack/vnc/static/images
/usr/share/nutanix_openstack/vnc/static/images/header-logo.png
/usr/share/nutanix_openstack/vnc/static/include
/usr/share/nutanix_openstack/vnc/static/include/base.css
/usr/share/nutanix_openstack/vnc/static/include/base64.js
/usr/share/nutanix_openstack/vnc/static/include/des.js
/usr/share/nutanix_openstack/vnc/static/include/display.js
/usr/share/nutanix_openstack/vnc/static/include/fancySelect.css
/usr/share/nutanix_openstack/vnc/static/include/fancySelect.js
/usr/share/nutanix_openstack/vnc/static/include/fancyselect-override.css
/usr/share/nutanix_openstack/vnc/static/include/input.js
/usr/share/nutanix_openstack/vnc/static/include/jquery-1.7.1.min.js
/usr/share/nutanix_openstack/vnc/static/include/jsunzip.js
/usr/share/nutanix_openstack/vnc/static/include/keyboard.js
/usr/share/nutanix_openstack/vnc/static/include/keysymdef.js
/usr/share/nutanix_openstack/vnc/static/include/override-base.css
/usr/share/nutanix_openstack/vnc/static/include/rfb.js
/usr/share/nutanix_openstack/vnc/static/include/scancode_map.js
/usr/share/nutanix_openstack/vnc/static/include/util.js
/usr/share/nutanix_openstack/vnc/static/include/websock.js
/usr/share/nutanix_openstack/vnc/static/include/webutil.js
/usr/share/nutanix_openstack/vnc/static/vnc_auto.html

Acropolis Driver の RPM とは別に、OpenStack 関連の RPM 一式もいストールされています。

[root@ovm01 ~]# rpm -qa | grep openstack
openstack-swift-plugin-swift3-1.7-4.el7.noarch
openstack-ceilometer-api-2015.1.1-1.el7.noarch
python-openstackclient-1.0.3-2.el7.noarch
openstack-packstack-puppet-2015.1-0.14.dev1616.g5526c38.el7.noarch
openstack-nova-conductor-2015.1.1-1.el7.noarch
openstack-swift-account-2.3.0-1.el7.noarch
openstack-heat-engine-2015.1.1-1.el7.noarch
openstack-sahara-api-2015.1.1-1.el7.noarch
openstack-trove-2015.1.0-3.el7.noarch
openstack-nova-scheduler-2015.1.1-1.el7.noarch
openstack-dashboard-2015.1.1-1.el7.noarch
openstack-swift-container-2.3.0-1.el7.noarch
openstack-glance-2015.1.1-1.el7.noarch
openstack-nova-novncproxy-2015.1.1-1.el7.noarch
openstack-heat-api-2015.1.1-1.el7.noarch
openstack-ceilometer-common-2015.1.1-1.el7.noarch
openstack-ceilometer-collector-2015.1.1-1.el7.noarch
openstack-sahara-engine-2015.1.1-1.el7.noarch
openstack-trove-taskmanager-2015.1.0-3.el7.noarch
python-django-openstack-auth-1.2.0-4.el7.noarch
openstack-puppet-modules-2015.1.12-6.el7.noarch
openstack-selinux-0.6.35-1.el7.noarch
openstack-utils-2014.2-1.el7.noarch
openstack-nova-api-2015.1.1-1.el7.noarch
openstack-swift-2.3.0-1.el7.noarch
openstack-swift-object-2.3.0-1.el7.noarch
openstack-ceilometer-notification-2015.1.1-1.el7.noarch
openstack-ceilometer-central-2015.1.1-1.el7.noarch
openstack-sahara-2015.1.1-1.el7.noarch
openstack-trove-conductor-2015.1.0-3.el7.noarch
openstack-heat-common-2015.1.1-1.el7.noarch
openstack-sahara-common-2015.1.1-1.el7.noarch
openstack-trove-api-2015.1.0-3.el7.noarch
openstack-neutron-openvswitch-2015.1.1-1.el7.noarch
openstack-keystone-2015.1.1-1.el7.noarch
openstack-nova-common-2015.1.1-1.el7.noarch
openstack-nova-cert-2015.1.1-1.el7.noarch
openstack-nova-compute-2015.1.1-1.el7.noarch
openstack-neutron-common-2015.1.1-1.el7.noarch
openstack-neutron-2015.1.1-1.el7.noarch
openstack-swift-proxy-2.3.0-1.el7.noarch
openstack-ceilometer-alarm-2015.1.1-1.el7.noarch
openstack-trove-common-2015.1.0-3.el7.noarch
openstack-packstack-2015.1-0.14.dev1616.g5526c38.el7.noarch
openstack-cinder-2015.1.1-1.el7.noarch
openstack-nova-console-2015.1.1-1.el7.noarch
nutanix_openstack-2015.1.0-1.noarch
openstack-neutron-ml2-2015.1.1-1.el7.noarch

Nutanix が OpenStack ディストリビューションを提供するわけではく、fedora の RDO リポジトリから公開されている RPM のようです。

[root@ovm01 ~]# rpm -qi rdo-release
Name        : rdo-release
Version     : kilo
Release     : 1
Architecture: noarch
Install Date: Thu 04 Feb 2016 05:25:44 PM PST
Group       : System Environment/Base
Size        : 4254
License     : Apache2
Signature   : RSA/SHA1, Tue 12 May 2015 07:52:05 AM PDT, Key ID 52f8c4c37d10ce81
Source RPM  : rdo-release-kilo-1.src.rpm
Build Date  : Tue 12 May 2015 07:28:54 AM PDT
Build Host  : gig3
Relocations : (not relocatable)
URL         : https://github.com/redhat-openstack/rdo-release
Summary     : RDO repository configuration
Description :
This package contains the RDO repository

OpenStack 関連の RPM は、openstack-kilo リポジトリから取得されたものです。

[root@ovm01 ~]# yum list openstack-utils
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
 * base: mirror.netdepot.com
 * extras: mirror.umd.edu
 * updates: centos.firehosted.com
Installed Packages
openstack-utils.noarch           2014.2-1.el7            @openstack-kilo

openstack-kilo リポジトリの設定ファイルは、rdo-release の RPM に含まれています。

[root@ovm01 ~]# rpm -ql rdo-release
/etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-kilo
/etc/yum.repos.d/rdo-release.repo
/etc/yum.repos.d/rdo-testing.repo

openstack-kilo の Yum リポジトリ設定です。

[root@ovm01 ~]# cat /etc/yum.repos.d/rdo-release.repo
[openstack-kilo]
name=OpenStack Kilo Repository
baseurl=http://repos.fedorapeople.org/repos/openstack/openstack-kilo/el7/
skip_if_unavailable=0
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-kilo

以上。