Change-Id: Ib3f45afcb0472a983b1f857f1c9faed72be806f6
3.7 KiB
Install openstack from upstream source repositories
https://blueprints.launchpad.net/fuel/+spec/openstack-from-master
Be able to deploy the very latest distribution of OpenStack from upstream master. This is to provide community developers a way to deploy their own additional changes through an easy to use deployment technology (i.e. Fuel).
Problem description
- The idea behind that feature is to allow customers to compile OpenStack packages during a Fuel ISO build on the fly, both RPM and DEB versions.
- Customers may use spec files either from our public Gerrit, or from their own local/remote git repos.
Proposed change
Changes will include:
- New configuration entries to fuel-main/config.mk
- New subroutines for our make system that will build RPM and DEB packages by using configuration entries from fuel-main/config.mk
Alternatives
None
Data model impact
None
REST API impact
None
Upgrade impact
None
Security impact
None
Notifications impact
None
Other end user impact
- Additional options to the "make iso" command allow user to customize external sources to build OpenStack components from.
Performance Impact
By using this feature to build multiple custom OpenStack components, the total ISO build time could be significantly higher than "vanilla" Fuel ISO one.
Other deployer impact
The fuel-main/config.mk will contain the following new parameters:
- BUILD_OPENSTACK_PACKAGES - contains comma-separated list of OpenStack components to build, or "0" otherwise
Per each of OpenStack components, the following list of parameters is defined (using Neutron as an example):
- NEUTRON_REPO
- NEUTRON_COMMIT
- NEUTRON_SPEC_REPO
- NEUTRON_SPEC_COMMIT
- NEUTRON_GERRIT_URL
- NEUTRON_SPEC_GERRIT_URL
These values will take effect only if BUILD_OPENSTACK_PACKAGES parameter contains a name of respective OpenStack component, i.e.:
BUILD_OPENSTACK_PACKAGES:=neutron
It is possible to build specific OpenStack components only, by using make command with the target component parameter, i.e.:
make neutron
Developer impact
None
Implementation
Assignee(s)
- Primary assignee:
-
Vitaly Parakhin
Work Items
Initial phase:
- Implement building RPM packages from master
- Produce the specs for building RPM from master
Second phase:
- Implement building DEB packages from master
- Produce the specs for building DEB from master
Dependencies
- https://blueprints.launchpad.net/fuel/+spec/build-packages-for-openstack-master-rpm
- https://blueprints.launchpad.net/fuel/+spec/osci-to-dmz
Testing
The following tests should be performed:
- Building all OpenStack components from master using our specs
- Deployment tests for an ISO with customized OpenStack components
The existing deployment tests are adequate for testing customized ISO.
Acceptance criteria:
- Each of OpenStack components could be built from master using our specs
- Deployment of simple multinode OpenStack succeeds
- Diagnostic snapshot works
- Health Check works
Documentation Impact
A note should be added to Fuel User Guide to describe the possibility to build custom OpenStack components from upstream source repositories during ISO build.
References
None