This is currently a BETA proof of concept service open to select users.


The Nectar Preemptible Instance Service gives you access to more compute resources outside of your normal allocation limits with some restrictions.

Preemptible instances are created within a separate openstack project with a separate quota.

All instances will be killed after a 24 hour period, instances can also be killed before 24 hours depending on current resource constraints.


Creating Preemptible Instances

Preemptible instances are created just like normal instances, the only difference is the project from which you create these in.


Getting Access

Currently this service is being trialled by a select number of users. If you’d like to be involved in the trial please lodge a support request.

Once approved you will be given a separate openstack project which will allow you to create instances. This project will have a separate compute quota.


How much compute can I use?

You will be given a quota of:

100 cores

100 instances

409,600MB of RAM


No other resources will be granted for this project (eg. no volumes, object-store, load balancers etc.)


How long will the trial last?

The trial will last until at least the end of March 2021


Will I get a notice or warning before my instance is deleted?

When your instance is deleted it will send an ACPI shutdown signal to your instance. With this you can configure your operating system to signal and do any clean up steps before your instance is shut down and deleted. When this signal is received by the operating system you will have 10 minutes to run a shutdown script before the instance is forcefully removed.


An example on how to do this https://www.brianlinkletter.com/run-a-script-on-virtual-machines-when-the-host-is-shut-down/


NOTE: You will need to add TimeoutStopSec=600 to this systemd file too else you will hit the default 90 second timeout when stopping a systemd service.


Can I share my resources between my normal project and my preemptible project?

Networking

You can share a private network with your preemptible project, you will need the `neutron` cli tool to do this


From your normal project run the following to share your network <network-id> with a different project <preemptible-project-id>

neutron rbac-create --target-tenant <preemptible-project-id> --action access_as_shared --type network <network-id>

 

neutron rbac-create --target-tenant <preemptible-project-id> --action access_as_shared --type network <network-id>


Volumes

No this isn't possible


Object Storage

Yes, you can configure your container to have read/write access to a different project. See https://docs.openstack.org/swift/latest/overview_acl.html