summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorLiam Hopkins <liamh@google.com>2020-04-29 09:38:44 -0700
committerGitHub <noreply@github.com>2020-04-29 09:38:44 -0700
commitac9cd8f0b1cb0c55b1821d54fab78dc8707ea794 (patch)
treeb2990c9191e486d3e0881d269bf00835ed95bcc9 /README.md
parent4dcd267dfa76d960d1e511abb242690b1c43b128 (diff)
downloadgoogle-compute-image-packages-ac9cd8f0b1cb0c55b1821d54fab78dc8707ea794.tar.gz
move GCE to guest-configs, deprecate python (#887)
Diffstat (limited to 'README.md')
-rw-r--r--README.md124
1 files changed, 23 insertions, 101 deletions
diff --git a/README.md b/README.md
index a8d427f..10d2043 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,14 @@
## Linux Guest Environment for Google Compute Engine
-[![Build Status](https://travis-ci.org/GoogleCloudPlatform/compute-image-packages.svg?branch=master)](https://travis-ci.org/GoogleCloudPlatform/compute-image-packages) [![codecov](https://codecov.io/gh/GoogleCloudPlatform/compute-image-packages/branch/master/graph/badge.svg)](https://codecov.io/gh/GoogleCloudPlatform/compute-image-packages)
-
-This repository stores the collection of packages installed on Google supported
-Compute Engine [images](https://cloud.google.com/compute/docs/images).
+This repository historically stored the collection of packages installed on
+Google supported Compute Engine [images](https://cloud.google.com/compute/docs/images).
+Documentation here summarizes these packages and points to new locations for
+various software components.
**Table of Contents**
* [Background](#background)
* [Packaging](#packaging)
- * [Version Updates](#version-updates)
* [Package Distribution](#package-distribution)
* [Troubleshooting](#troubleshooting)
* [Contributing](#contributing)
@@ -17,7 +16,7 @@ Compute Engine [images](https://cloud.google.com/compute/docs/images).
## Background
-The Linux guest environment denotes the Google provided configuration and
+The Linux guest environment comprises the Google provided configuration and
tooling inside of a [Google Compute Engine](https://cloud.google.com/compute/)
(GCE) virtual machine. The
[metadata server](https://cloud.google.com/compute/docs/metadata) is a
@@ -28,80 +27,34 @@ machine run properly on our platform.
## Packaging
-The guest Python code is packaged as a
-[compliant PyPI Python package](https://packaging.python.org/)
-that can be used as a library or run independently. In addition to the Python
-package, deb and rpm packages are created with appropriate init configuration
-for supported GCE distros. The packages are targeted towards distribution
-provided Python versions.
-
-Distro | Package Type | Python Version | Init System
------------- | ------------ | -------------- | -----------
-SLES 12 | rpm | 2.7 | systemd
-SLES 15 | rpm | 3.6 | systemd
-CentOS 6 | rpm | 2.6 | upstart
-CentOS 7 | rpm | 2.7 | systemd
-CentOS 8 | rpm | 3.6 | systemd
-RHEL 6 | rpm | 2.6 | upstart
-RHEL 7 | rpm | 2.7 | systemd
-RHEL 8 | rpm | 3.6 | systemd
-Ubuntu 14.04 | deb | 2.7 | upstart
-Ubuntu 16.04 | deb | 3.5 or 2.7 | systemd
-Ubuntu 18.04 | deb | 3.6 | systemd
-Ubuntu 19.04 | deb | 3.7 | systemd
-Debian 9 | deb | 3.5 or 2.7 | systemd
-Debian 10 | deb | 3.7 | systemd
-
We build the following packages for the Linux guest environment.
-* `google-compute-engine`
+* `google-compute-engine`(located in the [guest-configs](https://github.com/GoogleCloudPlatform/guest-configs) repo)
* System init scripts (systemd, upstart, or sysvinit).
* Includes udev rules, sysctl rules, rsyslog configs, dhcp configs for
hostname setting.
- * Entry point scripts created by the Python package located in `/usr/bin`.
- * Includes bash scripts used by `instance_setup`.
-* `python-google-compute-engine`
- * The Python 2 package for Linux daemons and libraries.
-* `python3-google-compute-engine`
- * The Python 3 package for Linux daemons and libraries.
-* `google-compute-engine-oslogin`
+ * Includes bash scripts used during instance setup.
+ * This package depends on the other necessary packages, and can be used as
+ an entry point to [install the guest environment](https://cloud.google.com/compute/docs/images/install-guest-environment).
+* `google-compute-engine-oslogin`(located in the [guest-oslogin](https://github.com/GoogleCloudPlatform/guest-oslogin) repo)
* The PAM and NSS modules for [OS Login](https://cloud.google.com/compute/docs/oslogin/)
+* `google-guest-agent`(located in the [guest-agent](https://github.com/GoogleCloudPlatform/guest-agent) repo)
+ * The guest agent which performs all on-guest actions needed to support GCE
+ features.
* `gce-disk-expand`
* The on-boot resize scripts for root partition.
-The package sources (RPM spec files and Debian packaging directories) are also
-included in this project. There are also [Daisy](https://github.com/GoogleCloudPlatform/compute-image-tools/tree/master/daisy)
-workflows for spinning up GCE VM's to automatically build the packages for
-Debian, Red Hat, and CentOS. See the [README](packaging/README.md) in the
-packaging directory for more details.
-
-#### Version Updates
-
-Versions are described as 1:YYYYMMDD.NN-gN, meaning epoch 1 to denote from a
-distro maintained package which will be 0, a date string formatted as year,
-month, day, an incrementing minor release, and gN representing the Google
-package release. Debian, Ubuntu, and SUSE maintain distro packages which may be
-out of date, have different versioning, or naming.
-
-The method for making version updates differs by package.
-
-* All packages need the `VERSION` variable set in the `setup_{deb,rpm}.sh` build
- scripts.
-* All packages need the `debian/changelog` file updated. Please use `dch(1)` to
- update it.
-* `python-google-compute-engine` additionally needs the version specified in
- `setup.py`. This is used for entry points through the Python egg and PyPI.
-* `google-compute-engine-oslogin` needs the version also updated in the
- `Makefile`.
+The legacy [guest Python code](packages/python-google-compute-engine) is
+packaged as a [compliant PyPI Python package](https://packaging.python.org/)
+that can be used as a library or run independently.
#### Package Distribution
The deb and rpm packages are published to Google Cloud repositories. Debian,
CentOS, and RHEL use these repositories to install and update the
`google-compute-engine`, `google-compute-engine-oslogin` and
-`python-google-compute-engine` (and `python3-google-compute-engine` for Python
-3) packages. If you are creating a custom image, you can also use these
-repositories in your image.
+`google-guest-agent` packages. If you are creating a custom image, you can also
+use these repositories in your image.
**For Debian, run the following commands as root:**
@@ -147,14 +100,14 @@ EOM
You are then able to install any of the packages from this repo.
-## Troubleshooting
-
-**Deprecated Packages**
+## Deprecated packages
Deprecated Package | Replacement
------------------------------------ | ---------------------------------------------------------
-`google-compute-engine-jessie` | `google-compute-engine` and `python-google-compute-engine`
-`google-compute-engine-stretch` | `google-compute-engine` and `python-google-compute-engine`
+ `python-google-compute-engine` | `google-guest-agent`
+ `python3-google-compute-engine` | `google-guest-agent`
+`google-compute-engine-jessie` | `google-compute-engine`
+`google-compute-engine-stretch` | `google-compute-engine`
`google-compute-engine-init` | `google-compute-engine`
`google-compute-engine-init-jessie` | `google-compute-engine`
`google-compute-engine-init-stretch` | `google-compute-engine`
@@ -164,37 +117,6 @@ Deprecated Package | Replacement
`google-compute-daemon` | `python-google-compute-engine`
`google-startup-scripts` | `google-compute-engine`
-**An old CentOS 6 image fails to install the packages with an error on SCL**
-
-CentOS 6 images prior to `v20160526` may fail to install the package with
-the error:
-```
-http://mirror.centos.org/centos/6/SCL/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
-```
-
-Remove the stale repository file:
-`sudo rm -f /etc/yum.repos.d/CentOS-SCL.repo`
-
-**On some CentOS or RHEL 6 systems, extraneous python egg directories can cause
-the python daemons to fail.**
-
-In `/usr/lib/python2.6/site-packages` look for
-`google_compute_engine-2.4.1-py27.egg-info` directories and
-`google_compute_engine-2.5.2.egg-info` directories and delete them if you run
-into this problem.
-
-**Using boto with virtualenv**
-
-Specific to running `boto` inside of a Python
-[`virtualenv`](http://docs.python-guide.org/en/latest/dev/virtualenvs/),
-virtual environments are isolated from system site-packages. This includes the
-installed Linux guest environment libraries that are used to configure `boto`
-credentials. There are two recommended solutions:
-
-* Create a virtual environment with `virtualenv venv --system-site-packages`.
-* Install `boto` via the Linux guest environment PyPI package using
- `pip install google-compute-engine`.
-
## Contributing
Have a patch that will benefit this project? Awesome! Follow these steps to have