179 Commits

Author SHA1 Message Date
Alessio Ababilov
5a0518db39 Add PyYAML to package map
Change-Id: I48ffd6d980a757375cc83b47eb52043b1d8695f8
2013-06-25 11:19:23 +03:00
Alessio Ababilov
fcbc1ab59d Change build and bootstrap procedure
* add build action to build binary packages
* remove conflicting packages on install phase
* process rhel.yaml to get required RPM package names
* allow including only /usr directory to packages

Build action is run as root after prepare action.

Change-Id: I6beec02e1c6ff48ec24a6ae382aae0193c1af95f
Fixes: bug #1193088
Fixes: bug #1193085
2013-06-21 19:53:15 -07:00
Joshua Harlow
cc1ac3d71f Fix missing nova client + other packages.
Change-Id: Id3c7ee623baad00d021b712ea5033ebeecdf65cd
2013-06-19 18:04:41 -07:00
Joshua Harlow
72c87f7b62 Fix how we are missing the extra pips.
Change-Id: Iaabe6a57634d7ca6c3ebae7b78afccd64fb72b9d
2013-06-19 13:28:26 -07:00
Joshua Harlow
9c8b747950 Ensure that when uninstalled that special files removed.
In order to ensure that if installed again that the nova
and keystone configuration will be re-ran instead of being
skipped by deleting these special marker files.

Change-Id: Id1a9362e08ff5ff3d3def1576a360c5d84329faa
2013-06-18 23:28:39 -07:00
Joshua Harlow
31c762941e Stop using pkg_dir all over and correctly uninstall clients.
Fixes bug: #1192379

Change-Id: I66e0925120809a2e39f71fdab8b1f6c50d4abdef
2013-06-18 17:26:54 -07:00
Anastasia Karpinska
f12819dc78 Add Openvswitch component
Change-Id: I39fb2d91fc07ff349eeb8284c7cd592d30487b85
2013-06-17 23:27:21 -07:00
Alessio Ababilov
052daddfd7 Build OpenStack packages from custom specs
Maintain spec files for OpenStack packages. Start OpenStack daemons
as native system services under different users. Write configuration
to /etc.

Implements: blueprint different-openstack-users
Implements: blueprint purge-config
Implements: blueprint package-novnc

Change-Id: I454c1e88011c75997d879bf8b90cd87c8db3f123
2013-06-17 19:54:07 -07:00
Joshua Harlow
c83294842d Use the exported env variable for nopackages.
Now that smithy exports a variable saying what
packages conflict we can just use that instead
of having to have the same duplicate info in
the distro yaml file.

Change-Id: Ia5818f8d8866472ab6968e69db4fa91aaf188894
2013-06-10 21:18:23 -07:00
Alessio Ababilov
10d54505fc Do not use yum to guess RPM name in py2rpm
This can lead to unpredictable results: nobody knows
what repos and what package names will be available.

Also, removing `yum list` makes py2rpm faster.

Change-Id: I4892d46b9b13ea5f94a9805293381284c388cebe
2013-06-06 11:18:44 -07:00
Alessio Ababilov
0ba7f0e03b Do not change process UID
When run with sudo, Anvil changed process real UID
to SUDO_UID thus easily creating files with different owners.
This mechanism can confuse some tools (like pip)
Now, we can almost safely stop changing real UID and run
prepare as non-root and bootstrap, install, start, status,
and stop as root.

Also, this removes dependency on sudo.

Implements: blueprint no-uid-tricks
Fixes: bug #1179747
Fixes: bug #1186440
Fixes: bug #1186448

Change-Id: I7ae293aad7f0a5ba08962e6b6b709fe49b8b81ec
2013-06-03 11:16:03 -07:00
Alessio Ababilov
e994d88c74 Build only missing Python packages
Building RPMs for all required Python packages usually
takes a lot of time. That's better to skip building Python
packages that are available as RPMs.

Python package name are converted to RPM (e.g., django to
Django and webob to python-webob) and version is checked
appropriately.

Do not force using already installed packages. It doesn't
speeds up the build process anymore, but leads to bugs.

Implements: blueprint build-only-missing
Fixes: bug #1186450
Fixes: bug #1186450

Change-Id: Id59d954eb8057746051723deee299afc2f10f01f
2013-06-01 15:31:25 -07:00
Joshua Harlow
46c6b9b5a9 Fix glance coverage referring to the wrong tester.
Change-Id: I95ddd2e021a636633078fb4b0e8e12dbaf139db4
2013-05-31 18:54:26 -07:00
Anastasia Karpinska
1ed84bb3d3 Anvil uninstaller was implemented
Change-Id: I10d8463883a40e8ce99123a6dc758ab30e87d58b
2013-05-31 18:45:08 -07:00
Alessio Ababilov
54d8db1e4d Build RPMs and use YUM to handle dependencies
Implements: blueprint robust-dependencies

Fixes: bug #1157871
Fixes: bug #1184016
Fixes: bug #1184017

Change-Id: I4d1e6d4b1b32473182259d60b1db6918cba889e9
2013-05-31 18:41:59 -07:00
Anastasia Karpinska
ac292e8d54 Components __init__.py was splitted on actions base classes
Change-Id: I6f4118b336a4c5edb1ef2bac51942118efe8c4a1
2013-05-31 18:36:27 -07:00
Anastasia Karpinska
e254dbaf88 Cinder component was added to anvil
Change-Id: Ieace320bc3bed4669fb677cde5d6dcc96d13e516
2013-05-31 18:24:21 -07:00
Alessio Ababilov
c4808b303a quantum added to anvil installer
Fixes: bug #1043567

Change-Id: I2dd4a43f70a3be0b21b700c38580ba1b6d916575
2013-05-31 18:22:17 -07:00
Alessio Ababilov
d8571b1fe0 Robust handling for existing git repos
If a repository was downloaded previously, it may contain
local changes that prevent git checkout. Do git clean -xdfq
and git reset --hard.

If a repository was downloaded previously, it may contain
a branch with the same name we want to use. To be compatible
with old git, we drop the branch and create again.

Change-Id: Ib46328e9cddc8d1e58833c08b65679b1b61a891d
2013-05-31 18:20:38 -07:00
Alessio Ababilov
588f36dca0 Mention some packages incompatible with OpenStack
In future, Anvil should be able to detect such problems
and automatically decide to install these packages with pip.

Change-Id: I7f570aa6e146bc10313b7870995c13be5cc55a7a
2013-05-31 18:19:54 -07:00
Alessio Ababilov
5aaf56ddfb Use nodejs from EPEL
Additional profit: one cannot run yum install $local_file
successfully if the package is installed, so, if you install
nodejs from a local file, you cannot run installation process
twice.

Change-Id: I62f2f27c9b3835879f0cde07fcd27720e3ef2f31
2013-05-31 18:18:10 -07:00
Vasyl Khomenko
318b7fe34f Skipping broken/env-incompatible tests.
Change-Id: Icb30d6b1ac7010db8d57773fd292747b1b0ba94d
2013-04-30 19:27:22 +04:00
Vasyl Khomenko
1e98e949cf Added new action "coverage"
New action "coverage" will show code coverage by unittests.

Change-Id: I62e7cdc0001965580cb37cf3017edaf6c2f7e4dd
2013-04-25 17:47:10 +04:00
Joshua Harlow
fe82e00d7b The inbuilt pysqlite is to old.
Change-Id: I4fef03bc52eaebc35b5dc5fc7c4d9d57bb980eda
2013-04-01 16:51:30 -07:00
Joshua Harlow
2973959aea Add the needed oslo.config + oslo.incubator yaml settings.
Keystone, glance and others now dependent on oslo.config as
a pip requirement so we need to make sure we download and
setup that component as well so that it can be located when
installing components that depend on it.

Change-Id: Iab2ee40e18e356daca5590a12c426c536e571508
2013-03-26 12:34:56 -07:00
Joshua Harlow
215ccaed49 Remove installing nodejs repo from nodejs.tchol.org
Since said rpm is no longer valid, add a script under
tools to build/install nodejs rpm from source, provide
pre-built nodejs rpm under local-rpms dir and install nodejs
rpm from that dir itself if horizon is being used.

Change-Id: Iae724d73d5433f9de2bd35038edc66c5da185419
2013-03-23 18:52:10 -07:00
Joshua Harlow
5ba433dd4f Move test exclusions to config files
Change-Id: I4c9eb19bc2b9487747adb3b7b5f9f0978b96eed7
2013-03-23 18:49:24 -07:00
Joshua Harlow
4e628fe57a The rhel version of pylint doesn't match what nova wants 2013-02-25 18:40:18 -08:00
Joshua Harlow
a892560d61 The rhel version of babel doesn't match what nova wants 2013-02-25 18:38:45 -08:00
Joshua Harlow
76bf28a9bf The rhel version of suds doesn't match what nova wants 2013-02-25 18:37:34 -08:00
Joshua Harlow
2d72508bc1 The cliff isn't new enough 2013-02-25 18:25:54 -08:00
Joshua Harlow
4a191260a7 Include warlock under pips 2013-02-25 18:24:50 -08:00
Joshua Harlow
0c7d17118a Shrink down the pip 2 pkg mapping due to new autofinding 2013-02-25 17:37:47 -08:00
Joshua Harlow
0a0c8d637b New dependencies that are appearing. 2013-02-22 20:19:11 -08:00
foudfou
223547b05e adjust rhel distro config for minimal CentOS 6.3 install 2013-02-07 12:53:09 +01:00
Joshua Harlow
1a6508b20f Merge remote-tracking branch 'vasichkin/master'
Conflicts:
	conf/distros/rhel.yaml
2013-02-04 13:08:12 -08:00
Vasyl Khomenko
a72b021d09 Added centos 6.3 support 2013-02-04 23:49:30 +04:00
Joshua Harlow
4e9cff00c5 Adjust logging and remove boto version restriction 2013-02-01 18:38:38 -08:00
Joshua Harlow
0f82fa16de Add testrepository dependency 2013-02-01 18:31:25 -08:00
Joshua Harlow
f04ecfac4f Add discover dependency 2013-02-01 18:29:56 -08:00
Joshua Harlow
e0e1067685 Grizzly additions to get it working again
Updated dependency mappings and epel rpm name.
2013-01-23 17:51:34 -08:00
Joshua Harlow
1f55994a15 Don't pull in the newest requests package 2013-01-09 11:13:54 -08:00
Nikita Savin
2f08af1197 add nova dependencies 2012-12-17 20:20:06 -05:00
Joshua Harlow
2844f48eee Seems like nova uses stevedore 2012-12-10 16:19:59 -08:00
Joshua Harlow
b8b293d5b4 Remove node.js from being needed in the bootstrap phase and only install it in the horizon component preinstall phase 2012-12-10 12:34:27 -08:00
Joshua Harlow
3297e27dd4 For the novncproxy ensure websockify is installed 2012-12-07 17:08:02 -08:00
Joshua Harlow
c98ff0e999 Remove euca2ools from being installed since it pulls in a incompatible version of boto 2012-12-07 17:05:30 -08:00
Joshua Harlow
a847aa600d Rework anvil + nova dependencies to accomodate for nova dependencies. 2012-12-07 12:23:29 -08:00
Joshua Harlow
f587925899 Adjust pip adjustment function + remove unused dependencies. 2012-12-06 17:57:03 -08:00
Joshua Harlow
011801a0b4 Keyring needed by more than 1 component now 2012-12-05 17:35:57 -08:00