Bug 215151 - [NEW PORT] emulators/py-nova: Openstack Compute Service
Summary: [NEW PORT] emulators/py-nova: Openstack Compute Service
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Roman Bogorodskiy
URL:
Keywords:
Depends on: 215156
Blocks: 215155
  Show dependency treegraph
 
Reported: 2016-12-08 12:22 UTC by Alexander Nusov
Modified: 2016-12-18 07:31 UTC (History)
2 users (show)

See Also:


Attachments
nova (91.75 KB, patch)
2016-12-08 12:22 UTC, Alexander Nusov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Nusov 2016-12-08 12:22:00 UTC
Created attachment 177795 [details]
nova

__ Please note that this is a development version of nova. ___
Many features are not available.

Currently nova works on FreeBSD 11 and supports QEMU and Xen.

Common issues:
- Security groups are not implemented
- ARP spoofing, DHCP isolation protection are not implemented
- Nova services work from the root user
- No IPv6 support

QEMU issues:
- Need to enable serialconsole (TCP)
- Need to disable online CPU tracking
- Cannot mount cinder volumes

Xen issues:
- Live snapshots doesn't work
- No support for cinder volume hot-plugging
- XENBUS delay (5 min) when using qemu driver and COW images
- Some linux images cannot be booted

Nova requires procfs to be mounted.
Please add this line to /etc/fstab:
proc                /proc           procfs  rw      0       0

Also devel/libvirt port should be installed with enabled QEMU
backend or qemu tools installed separately.

Directory to keep VM data should be created manually
# su -m nova -c "mkdir /var/lib/nova/instances"

For proper networking enable PF
# sysrc pf_enable="YES"
# sysrc pflog_enable="YES"
# sysrc gateway_enable="YES"

/etc/pf.conf should contain:
rdr-anchor "org.openstack/*"
nat-anchor "org.openstack/*"
anchor "org.openstack/*"

To boot images on Xen please specify glance metadata properties
glance image-update b1216ff6-23ec-4a08-baee-43994760158a \
    --property hypervisor_type=xen \
    --property vm_mode=hvm \
    --property hw_disk_bus=xen

I will fork official openstack documentation and make BSD version this month.
Comment 1 Roman Bogorodskiy freebsd_committer freebsd_triage 2016-12-11 07:48:04 UTC
Any specific reason to use EXTRA_PATCHES? As these patches are mandatory and we keep this in-tree, why not just store these as files/patch-* (as would be generated if you do make makepatch for example)?
Comment 2 Alexander Nusov 2016-12-11 11:20:33 UTC
(In reply to Roman Bogorodskiy from comment #1)
Well, since many things are in development I find this approach more developer-friendly. It's not limited to per-file basis like makepatch and allows me to import/export patches directly from the git repository and apply multiple patches for specific file.

This is a temporary solution until I get all core services to work. Then I'm going to keep only integration code and move all FreeBSD specific code into separate modules.
Comment 3 commit-hook freebsd_committer freebsd_triage 2016-12-18 06:31:54 UTC
A commit references this bug:

Author: novel
Date: Sun Dec 18 06:30:59 UTC 2016
New revision: 428837
URL: https://svnweb.freebsd.org/changeset/ports/428837

Log:
  Add emulators/py-nova 14.0.2, Openstack Compute Service

  Please note that this is a development version of nova.
  Many features are not available.

  Currently nova works on FreeBSD 11 and supports QEMU and Xen.

  Common issues:
  - Security groups are not implemented
  - ARP spoofing, DHCP isolation protection are not implemented
  - Nova services work from the root user
  - No IPv6 support

  QEMU issues:
  - Need to enable serialconsole (TCP)
  - Need to disable online CPU tracking
  - Cannot mount cinder volumes

  Xen issues:
  - Live snapshots don't work
  - No support for cinder volume hot-plugging
  - XENBUS delay (5 min) when using qemu driver and COW images
  - Some Linux images cannot be booted

  For further FreeBSD specific notes please refer to port's pkg-message.

  PR:		215151
  Submitted by:	Alexander Nusov (alexander.nusov@nfvexpress.com)

Changes:
  head/GIDs
  head/UIDs
  head/emulators/Makefile
  head/emulators/py-nova/
  head/emulators/py-nova/Makefile
  head/emulators/py-nova/distinfo
  head/emulators/py-nova/files/
  head/emulators/py-nova/files/01-firewall-manager.patch
  head/emulators/py-nova/files/02-freebsd-l3.patch
  head/emulators/py-nova/files/03-nova-conf.patch
  head/emulators/py-nova/files/04-xen-phy.patch
  head/emulators/py-nova/files/05-online-cpus.patch
  head/emulators/py-nova/files/06-freebsd-net.patch
  head/emulators/py-nova/files/nova-api.in
  head/emulators/py-nova/files/nova-cells.in
  head/emulators/py-nova/files/nova-cert.in
  head/emulators/py-nova/files/nova-compute.conf.sample
  head/emulators/py-nova/files/nova-compute.in
  head/emulators/py-nova/files/nova-conductor.in
  head/emulators/py-nova/files/nova-consoleauth.in
  head/emulators/py-nova/files/nova-network.in
  head/emulators/py-nova/files/nova-scheduler.in
  head/emulators/py-nova/files/nova-serialproxy.in
  head/emulators/py-nova/files/nova.conf.sample
  head/emulators/py-nova/pkg-descr
  head/emulators/py-nova/pkg-message
  head/emulators/py-nova/pkg-plist
Comment 4 Roman Bogorodskiy freebsd_committer freebsd_triage 2016-12-18 07:31:27 UTC
Committed, thanks!