This repository has been archived by the owner on Aug 30, 2024. It is now read-only.
forked from viglesiasce/euca-deploy
-
Notifications
You must be signed in to change notification settings - Fork 14
/
calyptos.spec
90 lines (66 loc) · 2.96 KB
/
calyptos.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
%{!?__python2: %global __python2 /usr/bin/python2}
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%define name calyptos
%define version 0.1
%define unmangled_version 0.1
%define unmangled_version 0.1
%define release 1%{?build_id:.%build_id}%{?dist}
Summary: Tool for managing Eucalyptus
Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{tarball_basedir}.tar.xz
License: UNKNOWN
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
Prefix: %{_prefix}
BuildArch: noarch
Vendor: Vic Iglesias <viglesiasce@gmail.com>
Url: https://github.com/eucalyptus/calyptos/
BuildRequires: python2-devel
BuildRequires: python-setuptools
BuildRequires: python-argparse
BuildRequires: python-pbr
Requires: fabric PyYAML git python-stevedore python-click python-argparse
%description
# Calyptos
This is a tool for managing your Eucalyptus deployments
## Install
### On a CentOS 6 system:
yum install -y python-devel gcc git python-setuptools
easy_install fabric PyYAML
curl -L https://www.opscode.com/chef/install.sh | sudo bash -s -- -P chefdk
git clone https://github.com/eucalyptus/calyptos
cd calyptos
python setup.py install
## Lifecycle Actions
The cloud lifecycle is broken down into many phases:
### Configure
The configuration is written in YAML and uses the Chef environment structure. Examples can be found in the examples directory. For a full list of attributes that can be set look at the [Eucalyptus Cookbook attributes](https://github.com/eucalyptus/eucalyptus-cookbook/blob/testing/attributes/default.rb). Edit the etc/environment.yml file to match your deployment topology and configuration.
### Validate
#### Not yet implemented!!!
In this stage we run validations against the configuration file to ensure that the deployment will succeed as we expect.
### Prepare
This step ensures that Chef is installed on all servers and that we can SSH to all of them. It is nice to know that we are on good footing before we get going with the deployment.
calyptos prepare -p <root-ssh-password-for-deployment-systems>
### Provision
Provisions the rest of the system or update the configuration of an existing system. If you change anything in your environment.yml, you can use this to push that change out to your cloud.
calyptos provision -p <root-ssh-password-for-deployment-systems>
### Debug
#### Not yet implemented!!!
This step will grab all necessary information from a system in order to provide artifacts for use in debugging a problem.
%prep
%setup -q -n %{tarball_basedir}
%build
%{__python2} setup.py build
%install
%{__python2} setup.py install --skip-build --root=$RPM_BUILD_ROOT --single-version-externally-managed
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/usr/bin/calyptos
%{python_sitelib}/calyptos/*
%{python_sitelib}/*.egg-info
/usr/share/calyptos/config.yml
/usr/share/calyptos/examples/*